I am responsible for creating fixed manifests for our customer releases.
I used to do this in the following manner:
1) get everything merged to our mirror
2) repo manifest –o <filename> -r
3) copy this new file into a previously created manifest structure overriding the default.xml file
old structure contained: .git default.xml OMAPAndroid.txt
4) repo init –u <point at the manifest directory>
Now I was at a fixed point in the trees and I had a customer release. Repo sync commands would fix at this point and I wouldn’t advance on the tree.
However, I’m trying to do that now and it isn’t working. The “repo manifest” command produces the same output. But I’m not able to get initialized on a fixed point of the tree.
Attempt 1) I copy it to the old manifest format directory and then do a repo init based on that. It seems to completely ignore the information in the default.xml (the number of trees listed there and also the revision number). When I repo sync, I’m working with the latest code again.
Attempt 2) Copy the new .repo structure out to a new directory – modify the .repo/manifest/default.xml file to be the version that I want and then do a repo init –u ~/test_manifest2/.repo This fails saying “~/test_manifest2/.repo: unable to chdir or not a git archive”
Attempt 3) Do repo init –u ~/test_manifest2/.repo/manifest.git -- Result – fails immediately since it doesn’t recognize the format of the file at all.
How do I create fixed manifests in the new structure?
Thanks,
Jean
This process should still work. But I think what's happening is repo
is overwriting the default.xml with the latest during the sync.
Have you tried putting your fixed manifest in a different file and
switching the pointer?
repo manifest -o stable42.xml -r
repo init -u <genericmanifest>
cp ..../stable42.xml .repo/manifests/
repo init -m stable42.xml
repo sync
? I know some developers have had success with this approach in the past.