Hi all,
A recent commit to lib2geom compressed almost all commits since februari into one. Very annoying, although I know you can find out what those individual commits were with some more clicking. These mistakes don't surprise me; I am scared of the bzr tool that does things I do not understand. So to make people aware of the dangers of bzr, I'd like to give advice to simple folks like me:
************************************* I strongly advise you to not work in branches and merge it into trunk, and stay away from any other so-called convenient advanced functionality of bzr, like push-pull-whatever. Simply use it in 'svn mode'. http://wiki.inkscape.org/wiki/index.php/Working_with_Bazaar#Using_a_centrali... *************************************
If you have fully understood how bzr works, perhaps you can try to use the extra functionality. In that case, learn how to foul up the history (like rev2000 in lib2geom) so you don't type in such commands.
Thank you very very very much, Johan
(PS. no hard feelings to the committer of course! I blame the tool that allows these things to happen)
On Thu, 29 Dec 2011 21:28:38 +0100 Johan Engelen <jbc.engelen@...2592...> wrote:
Hi all,
A recent commit to lib2geom compressed almost all commits since februari into one. Very annoying, although I know you can find out what those individual commits were with some more clicking.
That seems odd, because
http://old.nabble.com/Re%3A-I%27ve-messed-the-lp%3Ainkscape-branch-p26959519...
was supposed to configure bzr to prevent that from happening. Perhaps Ted or someone else with commit access could check that that setting is still in effect / reapply it.
Cheers -Terry
These mistakes don't surprise me; I am scared of the bzr tool that does things I do not understand. So to make people aware of the dangers of bzr, I'd like to give advice to simple folks like me:
I strongly advise you to not work in branches and merge it into trunk, and stay away from any other so-called convenient advanced functionality of bzr, like push-pull-whatever. Simply use it in 'svn mode'. http://wiki.inkscape.org/wiki/index.php/Working_with_Bazaar#Using_a_centrali...
If you have fully understood how bzr works, perhaps you can try to use the extra functionality. In that case, learn how to foul up the history (like rev2000 in lib2geom) so you don't type in such commands.
Thank you very very very much, Johan
(PS. no hard feelings to the committer of course! I blame the tool that allows these things to happen)
Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex infrastructure or vast IT resources to deliver seamless, secure access to virtual desktops. With this all-in-one solution, easily deploy virtual desktops for less than the cost of PCs and save 60% on VDI infrastructure costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel
On 29-12-2011 23:56, Terry Brown wrote:
On Thu, 29 Dec 2011 21:28:38 +0100 Johan Engelen<jbc.engelen@...2592...> wrote:
Hi all,
A recent commit to lib2geom compressed almost all commits since februari into one. Very annoying, although I know you can find out what those individual commits were with some more clicking.
That seems odd, because
http://old.nabble.com/Re%3A-I%27ve-messed-the-lp%3Ainkscape-branch-p26959519...
was supposed to configure bzr to prevent that from happening. Perhaps Ted or someone else with commit access could check that that setting is still in effect / reapply it.
Note that it concerns lib2geom, which lives in its own repository at Launchpad. Before applying the configuration change, I hope someone can restore lib2geom's trunk history.
-Johan
On Fri, 30 Dec 2011 00:01:19 +0100 Johan Engelen <jbc.engelen@...2592...> wrote:
Note that it concerns lib2geom, which lives in its own repository at Launchpad. Before applying the configuration change, I hope someone can restore lib2geom's trunk history.
That would explain how it was able to happen. Ted untangled it last time, I *think* it's as simple as uncommitting (bzr uncommit) the offending commit, but better to have someone who knows for sure, and of course has write access to the repo of course.
Cheers -Terry
It is fixed now. I've set the append-only flag to prevent this from recurring.
The commands I used, in case somebody does this again somewhere: 1. Get the revision just before the mangling merge, using its ID. You can use 'bzr visualise' or 'bzr log --show-ids' to find it. e.g.: bzr branch lp:lib2geom -r goejendaagh@...2728... 2. Merge the correct way bzr merge lp:lib2geom 3. Commit. You can give credit to the author of the changes that obfuscated the revision history using the --author option bzr commit --author "Master Brokeder <brokeder@...2729...> 4. Replace trunk with cleaned-up branch ~src/lib2geom$ bzr push --overwrite lp:lib2geom 5. You can now convert the branch you worked with into a trunk checkout bzr bind :push
Regards, Krzysztof
On Thu, 2011-12-29 at 21:28 +0100, Johan Engelen wrote:
I strongly advise you to not work in branches and merge it into trunk, and stay away from any other so-called convenient advanced functionality of bzr, like push-pull-whatever. Simply use it in 'svn mode'. http://wiki.inkscape.org/wiki/index.php/Working_with_Bazaar#Using_a_centrali...
Glad things go solved, but just to provide some more information I thought I'd reply. In general, this is caused by a misunderstanding of what is happening, and it is really easy to fix.
I imagine this is the situation that people get in to:
$ bzr commit -m "Really cool work" $ bzr push lp:project Error: branches have diverged $ bzr merge lp:project $ bzr commit -m "Really cool work" $ bzr push lp:project
And generally, the developer is happy because the push worked. Their work is in the repo, but the history is now not as clear as it was previously (nothing is lost, just slightly hidden). A better way to handle this error is like this:
$ bzr commit -m "Really cool work" $ bzr push lp:project Error: branches have diverged $ bzr uncommit $ bzr shelve $ bzr pull lp:project $ bzr unshelve $ bzr commit -m "Really cool work" $ bzr push lp:project
This works really well if you have a single version that you've added. If you've added a whole set of revisions you probably want to set up a merge and do something like this.
$ bzr commit -m "Last commit of really cool work" $ bzr push lp:project Error: branches have diverged $ cd .... $ bzr branch lp:project tmp $ cd tmp $ bzr merge ../work $ bzr commit -m "Really cool work" $ cd ../work $ bzr pull ../tmp $ bzr push lp:project $ rm -rf ../tmp
You could push tmp as well, but I thought it'd be better to keep your working directory how it was.
HTH, Ted
participants (4)
-
Johan Engelen
-
Krzysztof Kosiński
-
Ted Gould
-
Terry Brown