Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 18 Jun 2013 07:22:31 -0500
From:      Bryan Drewery <bdrewery@FreeBSD.org>
To:        Alexey Dokuchaev <danfe@nsu.ru>
Cc:        ports@freebsd.org
Subject:   Re: "svn mv" and changing files at the same time: still prohibited
Message-ID:  <51C05107.90603@FreeBSD.org>
In-Reply-To: <20130617141857.GA93727@regency.nsu.ru>
References:  <20130617141857.GA93727@regency.nsu.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
------enig2WCPJBVIXOBHMFOCVPMNR
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On 6/17/2013 9:18 AM, Alexey Dokuchaev wrote:
> Hi there,
>=20
> I've been trying to rename a port (games/rtcw -> games/linux-rtcw) and =
had
> to change something inside port's Makefile at the same time (drop PORTE=
POCH
> and PORTREVISION, and set PKGNAMEPREFIX accordingly), but commit was bl=
ocked
> by pre-commit hook with "Do not replace a file. This can lose history."=

> message.  I was under impression that this is only true for CVS exporte=
r,
> but since we no longer doing this, this hook should be removed.

We've kept this to avoid losing easily-traceable history.

The intent of this hook is to prevent a 'svn rm' and 'svn add' in the
same commit where someone's intent was to 'undo' the removal. IIUC this
would make 'svn log' on the file stop and require 'svn log file@old-rev'
to continue.

>=20
> I've renamed and edited pkg-message file of that port just fine (in the=

> previous revision), and all history is there, so I'm wondering what's s=
o
> special about doing the same at the port-name level.
>=20
> ./danfe

The issue is likely that the source you copied from was not fully
up-to-date. I've seen 2 cases of this recently. Example situation:

You committed an update in rtcw to Makefile. The directory was at
revision X, the commit brought Makefile to Y.

You then 'svn mv' rtcw to linux-rtcw, which copies X (dir) and Y
(files). Separate revisions. The change to the Y files then is seen as a
"replacement" by the python SVN API.

Solution: Save your target changes, undo the move (revert rtcw), 'svn
update' in rtcw, and mv again. Then copy in your changes and commit.
Don't forget to 'svn add' any files as well.

This should fix it.

The hook is not intended to stop the situation you ran into. I do plan
to look at it more and test on a local repository to find a solution.

--=20
Regards,
Bryan Drewery


------enig2WCPJBVIXOBHMFOCVPMNR
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (MingW32)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQIcBAEBAgAGBQJRwFELAAoJEG54KsA8mwz5DDgP+wStBqVzfq66MiD0vrUnKof2
9hYy+6jF0kVUZ4D7kJ7oK0/DNT2j+1tEtwh9J8w+uNhCKTSlCb8+ugT9dyL4fMY0
wEwltA9uIvb2D0ISAFa2PLCx3MpVv+FAvb1lgUf2WeeZgq2vPX9QgOXgrQSU3bbJ
3dSxUox1Cp5YEwGrMtIx68Mnw3xUqd53aNZSGqYdj/x1Pjhx/OkG/QWD6oxsLYt0
gmVqTx6tfIrx2Wfx/IMANCu9X8uVcC1srOddoZZoJYinV7aZAU24711VONS9Cw3R
7c8bgGdeOuta5uoXj/DzbNwdzyLVrHLu9DoprATbxNz3MwAu6jnFWJxGnmH+plmm
89d5YW13FJMtCw+EK3au1CjjonhcCKXRpLbwFP51MKxnCTdAIcmhkQpak+dAo0wc
BzOZLq/f4Qn2g/d+0oeFqe+OJtJoTVgXwQ5rujuvd+sA8NH/3u1PG3upjwi7Xe/S
OjPuUb/PW8AVAdFEzu/2+IseueBzzUDTN9OYMajA6tg0ZWCnVZhYXMq22ajq6j9y
QCLRu/f26Tr0+YeCb+py8u4nzOfYSl+n5xf80pjDqYbaC+zVakDDwOrLYvovswmG
Au+6y318Dxv0me8+zpR/Q02h53TsekYHdex+IRc1Mu4MW6Q27z4BMtDFHzbF/DDW
6HDLR2l1MtlR8oNeAcjs
=l9G6
-----END PGP SIGNATURE-----

------enig2WCPJBVIXOBHMFOCVPMNR--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?51C05107.90603>