The command ./repo sync that we have to use to sync repository is always removing the current work in progress making it impossible to work on stuff and keep a tree current. It is even more insulting that we use git that DO allow this. Example: - I was told yesterday that I should use Gecko 18 for gaia work. repo sync reset things to to the master branch. gecko/: manifest switched refs/heads/gecko-18...master gecko/: discarding 1291 commits removed from upstream - I have a patch needed in gecko-misc to keep having crash report sent on my devel build because I work on crash reporter. I have to NOT FORGET TO REAPPLY IT. And of course, repo would have completely discarded it.
and this piece of rubbish actually reset my gecko-18 branch to track master gecko-18 merges with remote master gecko-18 pushes to gecko-18 (local out of date) <SARCASM>Good job !</SARCASM>
Hub, how do we fix this?
Fixing repo or its configuration, or using something else.
Also repo sync does not update the top level repository. Not sure if it is because I have a custom patch or because it is just dumb.
Currently the top level repository is not managed repo. repo's workflow is slightly different with git. To start a feature branch one have to use ./repo start <branch>, see ./repo help start
I always work on a branch in git. I name my branches dhylands-999999 where 999999 is the bug number. So my normal workflow when I start on bug is to modify files git checkout -b dhylands-BUGNUM git status to see what files I've modified git add files git commit (the first time) git commit --amend (the 2nd and subsequent time) repo sync will fail (on individual repositories) if you have modified files. But because it produces so much output, it's sometimes hard to tell if it fails. So I keep rerunning repo sync until I see an error or until I get just 2007 >repo sync Fetching projects: 100% (91/91), done. Syncing work tree: 100% (91/91), done. Now I can go back to the repos that I was working on and do: git rebase origin dhylands-BUGNUM where origin is the name of the remote. You can use: git remote -v to see the names of the remotes.
If you only run ./repo sync without ./repo init (as config.sh does), this is expected behaviour. If this is still causing you trouble, please reopen the bug.
So by default |repo sync| will LOSE data (commits). That mean the defaults are wrong. (bug still OPEN, just got bitten be it minutes ago)
This is a bug with upstream, per comment 3. I don't believe that there is a setting which controls whether or not repo is going to delete commits. Are you sure that the commits aren't in the reflog? We should file there if we're having issues with it, but there's no action that can be taken in this bug.
Status: NEW → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.