[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: interactive conflict callbacks

From: David Glasser <glasser_at_davidglasser.net>
Date: Mon, 5 May 2008 11:38:49 +0100

On Fri, May 2, 2008 at 10:56 PM, Karl Fogel <kfogel_at_red-bean.com> wrote:
> I just ran the script below (at the end of this mail, search for "***")
> to test the latest interactive conflict resolution prompt behavior of
> trunk. Now, independently of what's going on below, David Glasser and I
> are talking about changing the prompt that results from "(s)how all".
>
> But before we get there, there's a prompt that exceeds 80 columns:

Oops, yeah.

I actually also wasn't sure which options ought to end up on the short
prompt at all. Putting mc/tc there without dc might be a bad idea
anyway. (I figure, we have time before 1.6 to work this out by
figuring out which options are most useful in practice.)

--dave

> Conflict discovered in 'iota'.
> Select: (p) postpone, (df) diff-full, (e) edit, (mc) mine-conflict, (tc) theirs-conflict,
> (s) show all options: df
> --- .svn/text-base/iota.svn-base Fri May 2 17:52:00 2008
> +++ .svn/tmp/tempfile.tmp Fri May 2 17:52:03 2008
>
> I'll spare you the rest of the diff, it looks fine. But afterwards, the
> prompt tacks "resolved" onto the end of that already-too-long prompt:
>
> Select: (p) postpone, (df) diff-full, (e) edit, (mc) mine-conflict, (tc) theirs-conflict, (r) resolved,
> (s) show all options: s
>
> ...etc, etc. Ugh.
>
> So David: I'm planning to just fix this up when do the other changes we
> were talking about (Sunday, as I'm out all day tomorrow).
>
> -Karl
>
> ***
> Here's the script:
> ***
>
> #!/bin/sh
>
> SVNDIR=/home/kfogel/src/subversion
>
> SVN=${SVNDIR}/subversion/svn/svn
> SVNSERVE=${SVNDIR}/subversion/svnserve/svnserve
> SVNADMIN=${SVNDIR}/subversion/svnadmin/svnadmin
>
> URL=file:///`pwd`/repos
>
> rm -rf repos wc* import-me
>
> ${SVNADMIN} create repos
>
> echo "### Making a Greek Tree for import..."
> mkdir import-me
> mkdir import-me/trunk
> mkdir import-me/tags
> mkdir import-me/branches
> mkdir import-me/trunk/A
> mkdir import-me/trunk/A/B/
> mkdir import-me/trunk/A/C/
> mkdir import-me/trunk/A/D/
> mkdir import-me/trunk/A/B/E/
> mkdir import-me/trunk/A/B/F/
> mkdir import-me/trunk/A/D/G/
> mkdir import-me/trunk/A/D/H/
> echo "This is the file 'iota'." > import-me/trunk/iota
> echo "This is the file 'A/mu'." > import-me/trunk/A/mu
> echo "This is the file 'A/B/lambda'." > import-me/trunk/A/B/lambda
> echo "This is the file 'A/B/E/alpha'." > import-me/trunk/A/B/E/alpha
> echo "This is the file 'A/B/E/beta'." > import-me/trunk/A/B/E/beta
> echo "This is the file 'A/D/gamma'." > import-me/trunk/A/D/gamma
> echo "This is the file 'A/D/G/pi'." > import-me/trunk/A/D/G/pi
> echo "This is the file 'A/D/G/rho'." > import-me/trunk/A/D/G/rho
> echo "This is the file 'A/D/G/tau'." > import-me/trunk/A/D/G/tau
> echo "This is the file 'A/D/H/chi'." > import-me/trunk/A/D/H/chi
> echo "This is the file 'A/D/H/omega'." > import-me/trunk/A/D/H/omega
> echo "This is the file 'A/D/H/psi'." > import-me/trunk/A/D/H/psi
> echo "### Done."
> echo ""
> echo "### Importing it..."
> (cd import-me; ${SVN} import -q -m "Initial import." ${URL})
> echo "### Done."
> echo ""
>
> ${SVN} co -q ${URL}/trunk wc1
> ${SVN} co -q ${URL}/trunk wc2
>
> cd wc1
> echo "this is line 1" > iota
> echo "this is line 2" >> iota
> echo "this is line 3" >> iota
> echo "this is line 4" >> iota
> echo "this is line 5" >> iota
> echo "this is line 6" >> iota
> echo "this is line 7" >> iota
> echo "this is line 8" >> iota
> echo "this is line 9" >> iota
> echo "this is line 10" >> iota
> echo "this is line 11" >> iota
> echo "this is line 12" >> iota
> echo "this is line 13" >> iota
> echo "this is line 14" >> iota
> echo "this is line 15" >> iota
> echo "this is line 16" >> iota
> echo "this is line 17" >> iota
> echo "this is line 18" >> iota
> echo "this is line 19" >> iota
> echo "this is line 20" >> iota
> ${SVN} ci -q -m "Give iota many lines."
> ${SVN} up -q
> cd ..
>
> cd wc2
> ${SVN} up -q
> cd ..
>
> cd wc1
> echo "this is line 1" > iota
> echo "this is wc1's line 2" >> iota
> echo "this is wc1's line 3" >> iota
> echo "this is line 4" >> iota
> echo "this is line 5" >> iota
> echo "this is line 6" >> iota
> echo "this is line 7" >> iota
> echo "this is wc1's line 8" >> iota
> echo "this is line 9" >> iota
> echo "this is line 10" >> iota
> echo "this is line 11" >> iota
> echo "this is line 12" >> iota
> echo "this is line 13" >> iota
> echo "this is line 14" >> iota
> echo "this is line 15" >> iota
> echo "this is line 16" >> iota
> echo "this is line 17" >> iota
> echo "this is wc1's line 18" >> iota
> echo "this is wc1's line 19" >> iota
> echo "this is line 20" >> iota
> ${SVN} ci -q -m "Change some lines."
> ${SVN} up -q
> cd ..
>
> cd wc2
> echo "this is line 1" > iota
> echo "this is wc2's line 2" >> iota
> echo "this is wc2's line 3" >> iota
> echo "this is line 4" >> iota
> echo "this is line 5" >> iota
> echo "this is line 6" >> iota
> echo "this is line 7" >> iota
> echo "this is line 8" >> iota
> echo "this is line 9" >> iota
> echo "this is line 10" >> iota
> echo "this is line 11" >> iota
> echo "this is line 12" >> iota
> echo "this is wc2's line 13" >> iota
> echo "this is line 14" >> iota
> echo "this is line 15" >> iota
> echo "this is line 16" >> iota
> echo "this is line 17" >> iota
> echo "this is wc2's line 18" >> iota
> echo "this is wc2's line 19" >> iota
> echo "this is line 20" >> iota
>
> echo ""
> echo "### Okay, ready for some interactive prompting:"
> echo ""
> ${SVN} up
> cd ..
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
> For additional commands, e-mail: dev-help_at_subversion.tigris.org
>
>

-- 
David Glasser | glasser@davidglasser.net | http://www.davidglasser.net/
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-05-05 12:39:25 CEST

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.