Comments (8)
Original comment by [email protected]
on 24 Sep 2009 at 11:06
from git-repo.
Is there any update on this issue?
Today I tried switching manifest branches using repo init -b and I still see
the same issue:
-----------------------
project .repo/manifests/
First, rewinding head to replay your work on top of it...
Applying: Update the default manifest
Using index info to reconstruct a base tree...
Falling back to patching base and 3-way merge...
Auto-merging default.xml
CONFLICT (content): Merge conflict in default.xml
Failed to merge in the changes.
Patch failed at 0001 Update the default manifest
When you have resolved this problem run "git rebase --continue".
If you would prefer to skip this patch, instead run "git rebase --skip".
To restore the original branch and stop rebasing run "git rebase --abort".
fatal: cannot create default in manifest
---------------------------
Is there any known workaround that we can use to switch between manifest
branches via repo?
Thanks in advance
Original comment by [email protected]
on 4 Oct 2010 at 6:20
from git-repo.
One work around is to delete the "default" branch before switching branches /
advancing to the next tag. I've implemented this in a repo plugin for Jenkins
but this workaround is not ideal and is fragile to changes in repo
implementation.
https://github.com/tgover1/repo-plugin
Original comment by [email protected]
on 13 Dec 2011 at 12:43
from git-repo.
I pushed a patch proposal to the review server here :
https://gerrit-review.googlesource.com/35900
It basically implements the solution from comment #3 directly into repo
Original comment by [email protected]
on 7 Jun 2012 at 3:24
from git-repo.
Fixed in repo 1.9.4
Original comment by [email protected]
on 13 Jun 2012 at 5:01
- Changed state: Fixed
from git-repo.
Still pretty busted actually:
Take a look at the results of running:
for x in master release-R20-2268.B master release-R20-2268.B{,} \
master{,,}; do
repo init -u https://git.chromium.org/chromiumos/manifest.git -b $x;
git config -f .repo/manifests/.git/config --get-regexp \
'branch\.default\..*'
git --git-dir .repo/manifests/.git symbolic-ref HEAD;
echo echo
done
Specifically, track the remote/merge settings; they toggle, sometimes there,
sometimes not across re-inits; this breaks the git configuration itself, and
there are cases I've seen where there is *no* merge/origin output (and it's
left itself on detached HEAD); haven't ran down the cause yet.
This is still broken.
Original comment by ferringb
on 20 Jun 2012 at 12:03
from git-repo.
Our group in Samsung is using Repo tool to manage some of our projects, and
some projects are used as a mirror from other upstream sources.
We normally follow this process when using 'repo init -u URL -b branch' for our
project.
We saw one of your changes (see below) that might be having some different
behaviours than what's working for us in the past, but no longer working. We
are trying to see the actual reason behind this change and want to know what we
should do going forward.
This is our process:
We have a mirror project that's mirroring with an upstream project, hence, we
have a "local" branch of the manifest, and a "master" branch of the manifest.
Our local branch of the manifest is pointing to your local mirror Gerrit server.
We normally use this workflow:
1) repo init -u ssh://our_local_mirror/projects/ABC -b local
2) repo sync
The manifest file we wanted to use should be from the branch "local".
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<notice>
Your sources have been sync'd successfully.
</notice>
<remote fetch="ssh://192.168.1.52:29418/external/projects/ABC/"
name="local_mirror"
review="http://192.168.1.52/"/>
<default remote="local_mirror" />
3) run some builds
This is what we are seeing:
However, after the "repo sync", we found our manifest.xml is changed back to
the copy from our upstream (master), it is not using the our "-b local" branch.
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="upstream"
fetch="http://abc.samsung.com/test"
review="gerrit.abc.samsung.com/gerrit" />
<default revision="refs/heads/master"
remote="upstream" />
We found that now we might be need to use "-d" option for "init", but we had
tried although nothing has seems to work for us.
Please advise what we should be doing continue forward.
Original comment by [email protected]
on 21 Jun 2012 at 6:12
from git-repo.
I'm seeing problems with the fix for this issue.
If I run "repo init -u <url> -b <branch> -m <manifest>; repo sync -j5; repo
init -u <url> -b <branch> -m <manifest>; repo sync -j5" I get the following
error on the second sync:
username@machine:~/Workspace/mydroid$ repo sync -j5
.repo/manifests/: leaving default; does not track upstream
Traceback (most recent call last):
File "/home/username/Workspace/mydroid/.repo/repo/main.py", line 385, in <module>
_Main(sys.argv[1:])
File "/home/username/Workspace/mydroid/.repo/repo/main.py", line 365, in _Main
result = repo._Run(argv) or 0
File "/home/username/Workspace/mydroid/.repo/repo/main.py", line 137, in _Run
result = cmd.Execute(copts, cargs)
File "/home/username/Workspace/mydroid/.repo/repo/subcmds/sync.py", line 431, in Execute
all = self.GetProjects(args, missing_ok=True)
File "/home/username/Workspace/mydroid/.repo/repo/command.py", line 66, in GetProjects
all = self.manifest.projects
File "/home/username/Workspace/mydroid/.repo/repo/manifest_xml.py", line 235, in projects
self._Load()
File "/home/username/Workspace/mydroid/.repo/repo/manifest_xml.py", line 287, in _Load
self.manifestProject.worktree))
File "/home/username/Workspace/mydroid/.repo/repo/manifest_xml.py", line 302, in _ParseManifestXml
root = xml.dom.minidom.parse(path)
File "/usr/lib/python2.6/xml/dom/minidom.py", line 1918, in parse
return expatbuilder.parse(file)
File "/usr/lib/python2.6/xml/dom/expatbuilder.py", line 922, in parse
fp = open(file, 'rb')
IOError: [Errno 2] No such file or directory:
'/home/username/Workspace/mydroid/.repo/manifest.xml'
When I roll back to a version of repo prior to the below commit, I do not see
this error.
commit 5d016502ebc68bc054d85c98c6cdb51e0b63a1f5
Author: Florian Vallee <[email protected]>
Date: Thu Jun 7 17:19:26 2012 +0200
Fix switching manifest branches using repo init -b
See repo issue #46 :
https://code.google.com/p/git-repo/issues/detail?id=46
When using repo init -b on an already existing repository,
the next sync will try to rebase changes coming from the old manifest
branch onto the new, leading in the best case scenario to conflicts
and in the worst case scenario to an incorrect "mixed up" manifest.
This patch fixes this by deleting the "default" branch in the local
manifest repository when the -d init switch is used, thus forcing
repo to perform a fresh checkout of the new manifest branch
Change-Id: I379e4875ec5357d8614d1197b6afbe58f9606751
Original comment by [email protected]
on 29 Jun 2012 at 9:00
from git-repo.
Related Issues (20)
- repo version not reported when invoking "repo --version" HOT 2
- Multiple git instances launched by repo compete for SSH key passphrase user input HOT 1
- Share project-objects between multiple workspaces
- fetch: urllib confused by "[email protected]" fetch-url HOT 1
- remote alias breaks 'manifest -r'
- repo abandon should wreak less havok when I forget the project path
- validation fo DTD fail
- feature request: There should be a command to remove project and project-objects not in current manifest (repo gc?)
- _ReadPackedRefs:120 throw Exception; list index out of range
- Feature request: multi-threading while checking out source codes during "repo sync -l"
- eventtest
- Empty Reply Issue When Excuting “repo init”
- [PATCH] Do not download unneeded prebuilts
- Typo in GitConfig._SaveJson causing the repo init to crash HOT 2
- Enhancement: Allow different urls for push and fetch HOT 1
- When project revision is a tag, ToLocal() incorrectly converts to refs/remotes/...
- Add --safe-reference for repo init
- Improve use of Pylint
- Lose the use of optparse
- repo no longer shows output from git(1) during sync
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from git-repo.