[08:03] <mgz> morning
[08:48] <vila> mgz: morning
[08:49] <mgz> hey vila!
[14:13] <ChristopheT> Has any of you experienced the bug https://bugs.launchpad.net/bzr-git/+bug/1042102 ?  Do you know a workaround?
[14:16] <jelmer> ChristopheT, that's a known issue
[14:17] <mgz> ...a workaround would be to just manually check if the branches have diverged before you use dpush?
[14:17] <jelmer> mgz: yes
[14:18] <ChristopheT> jelmer: I did not find a previous report of this.  Is there one?
[14:19] <ChristopheT>  "manually check": sure but I am sure I am bound to forget now and then!  Maybe a hook?
[14:19] <jelmer> ChristopheT, I don't see one either yet
[14:20] <jelmer> ChristopheT, I guess you could implement it as a hook
[14:21] <jelmer> ChristopheT, though if you have time to spare, a patch would also be great
[14:21] <ChristopheT> jelmer: the question is: is it possible? "bzr hooks|grep push" returns "post_push:" only...
[14:23] <ChristopheT> jelmer: I'd like to try to understand the issue better (and possibly provide a patch).  I find the issue very annoying...  Where do I start (I guess I also need pointers to understand git protocol or is it just the way bzr handles it)?
[14:23] <jelmer> ChristopheT, you'll need some knowledge of the bzr and git models
[14:23] <jelmer> ChristopheT, the relevant code would be in bzr-git's branch.py
[14:24] <jelmer> in fact, there is already a FIXME for this
[14:25] <mgz> ChristopheT: `bzr alias dpush=remember-to-check-if-branch-has-diverged`
[14:26] <mgz> ...that should be annoying enough to make you want to fix the actual bug instead :)
[14:27] <mgz> you'd need `bzr alias dpush-yes-i-checked=dpush` too.
[14:37] <ChristopheT> jelmer: what quick reference do you recommend to get acquainted with git model (I do not even really use git, my coworkers do!).
[14:38] <jelmer> ChristopheT, the dulwich tutorial is a good start, and has some links to further docs
[14:42] <ChristopheT> jelmer: If I understand correctly, the dulwich library possesses the needed functions; the problem is to use them appropriately in bzr-git.
[14:44] <jelmer> ChristopheT: basically
[14:44] <jelmer> ChristopheT: or, hmm
[14:44] <jelmer> ChristopheT, the problem is that git doesn't allow remote graph access so the standard bzr functions don't work to check for diversion
[14:44] <jelmer> euhm, divergence
[14:45] <jelmer> ChristopheT, so you'll have to check locally whether the current remote head is an ancestor of the proposed head (and --overwrite wasn't specified)
[15:18] <ChristopheT> jelmer: If I undertand correctly, there is a FIXME missing in InterFromGitBranch._basic_push since it is the code used by the commands in the bug report, right.
[15:23] <ChristopheT> As a short term "solution", I am wondering if is is not better to add an --overwrite flag to dpush (which is what it does ATM) and output an explanation if it is not set.  That will avoid users tripping over this issue and wondering what they have done wrong...