unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Giorgos Keramidas <keramida@ceid.upatras.gr>
To: Bastien <bzg@gnu.org>, emacs-devel@gnu.org
Cc: Christopher Schmidt <christopher@ch.ristopher.com>
Subject: Re: bzr commit raises a weird conflict
Date: Tue, 9 Apr 2013 12:28:04 +0200	[thread overview]
Message-ID: <20130409102803.GB10276@saturn> (raw)
In-Reply-To: <87wqscm4dl.fsf@bzg.ath.cx> <87zjx8hz7b@ch.ristopher.com> <87txngta6a.fsf@bzg.ath.cx>

On 2013-04-09 09:50, Bastien <bzg@gnu.org> wrote:
> I wanted to push a tiny docstring bugfix (bug#14163) but could not.
>
> "~$ bzr commit" complains about a conflict.
>
> "~$ bzr conflicts" yields:
>   Conflict: can't delete leim/ja-dic because it is not empty.  Not deleting.
>
> I first ran "~$ make maintainer-clean" before trying to commit,
> because I did build Emacs from this directory.
>
> How can I resolve this "conflict"?

On 2013-04-09 09:42, Christopher Schmidt <christopher@ch.ristopher.com> wrote:
> Bastien <bzg@gnu.org> writes:
> > How can I resolve this "conflict"?
> >
> > I know it safer to build from a dedicated branch, and to use a clean
> > branch for commits, but still, I don't understand what's wrong.
>
> I don't understand what's wrong, either.
>
>     bzr resolve --take-other
>
> solved it for me.  This is probably another bug in bzr.

That's because leim/ja-dic/ was removed recently, but if you are merging
in an unclean checkout (with build output from previous builds), bzr
notices that:

  (a) The directory should be removed as part of the merge
  (b) The directory is not empty

So it takes the safer approach of aborting the merge with a conflict,
instead of blindly removing the directory.

This is an artifact of the fact that bzr likes tracking directory
changes too, as part of the branch history.  In this case it acts a bit
silly, because there are *no* files tracked remaining after the
directory is fully removed from a branch, so it should just go ahead and
remove the directory from the branch, but leave the filesystem intact.
Since there are no files left in the originally tracked directory,
future merges or updates will not care about this path anyway.

Running 'bzr resolve --take-other' basically tells bzr to ignore
whatever happens to exist in the filesystem because of the local branch
and consider the 'source branch' the authoritative source of what it
should do with leim/ja-dic/.  And it solves this minor merge problem ;)

--
Giorgos Keramidas; gkeramidas@gmail.com



  parent reply	other threads:[~2013-04-09 10:28 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-09  7:50 bzr commit raises a weird conflict Bastien
2013-04-09  8:42 ` Christopher Schmidt
2013-04-09  9:37   ` Bastien
2013-04-09 15:13   ` Eli Zaretskii
2013-04-10  7:38     ` Christopher Schmidt
2013-04-10 15:31       ` Eli Zaretskii
2013-04-12  8:49         ` Bastien
2013-04-09 10:28 ` Giorgos Keramidas [this message]
2013-04-09 11:23   ` Bastien
2013-04-09 15:31   ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20130409102803.GB10276@saturn \
    --to=keramida@ceid.upatras.gr \
    --cc=bzg@gnu.org \
    --cc=christopher@ch.ristopher.com \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).