[PATCH] journal: rename on disk files to 'namejournal'

Gábor STEFANIK Gabor.STEFANIK at nng.com
Sat Aug 27 18:47:26 EDT 2016


Please forgive my ignorance, but do we even have BC guarantees for extensions?



On Sat, Aug 27, 2016 at 8:13 PM +0200, "Durham Goode" <durham at fb.com<mailto:durham at fb.com>> wrote:

Was journal marked experimental in the latest release?  Otherwise this
seems BC breaking.


On 8/26/16 3:53 AM, Pierre-Yves David wrote:
> # HG changeset patch
> # User Pierre-Yves David <pierre-yves.david at ens-lyon.org>
> # Date 1472003959 -7200
> #      Wed Aug 24 03:59:19 2016 +0200
> # Node ID 12908f37248000179f42892a49d3b4751274d7a6
> # Parent  4435d4c951ec2185d92cbe0041852767dda584c8
> # EXP-Topic journal.namespace
> journal: rename on disk files to 'namejournal'
>
> The 'journal' naming is already used by the transaction journal. Having an
> unrelated group of file with such a close naming is confusing and error prone.
> We rename the file used by the 'journal' extension to use 'namejournal' as the
> extension track the location of various 'names'.
>
> diff -r 4435d4c951ec -r 12908f372480 hgext/journal.py
> --- a/hgext/journal.py        Thu Aug 25 01:00:26 2016 -0400
> +++ b/hgext/journal.py        Wed Aug 24 03:59:19 2016 +0200
> @@ -162,12 +162,12 @@ def unsharejournal(orig, ui, repo, repop
>               # there is a shared repository and there are shared journal entries
>               # to copy. move shared date over from source to destination but
>               # move the local file first
> -            if repo.vfs.exists('journal'):
> -                journalpath = repo.join('journal')
> +            if repo.vfs.exists('namejournal'):
> +                journalpath = repo.join('namejournal')
>                   util.rename(journalpath, journalpath + '.bak')
>               storage = repo.journal
>               local = storage._open(
> -                repo.vfs, filename='journal.bak', _newestfirst=False)
> +                repo.vfs, filename='namejournal.bak', _newestfirst=False)
>               shared = (
>                   e for e in storage._open(sharedrepo.vfs, _newestfirst=False)
>                   if sharednamespaces.get(e.namespace) in sharedfeatures)
> @@ -273,13 +273,13 @@ class journalstorage(object):
>               raise error.Abort(_('journal lock does not support nesting'))
>           desc = _('journal of %s') % vfs.base
>           try:
> -            l = lock.lock(vfs, 'journal.lock', 0, desc=desc)
> +            l = lock.lock(vfs, 'namejournal.lock', 0, desc=desc)
>           except error.LockHeld as inst:
>               self.ui.warn(
>                   _("waiting for lock on %s held by %r\n") % (desc, inst.locker))
>               # default to 600 seconds timeout
>               l = lock.lock(
> -                vfs, 'journal.lock',
> +                vfs, 'namejournal.lock',
>                   int(self.ui.config("ui", "timeout", "600")), desc=desc)
>               self.ui.warn(_("got lock after %s seconds\n") % l.delay)
>           self._lockref = weakref.ref(l)
> @@ -319,7 +319,7 @@ class journalstorage(object):
>           with self.jlock(vfs):
>               version = None
>               # open file in amend mode to ensure it is created if missing
> -            with vfs('journal', mode='a+b', atomictemp=True) as f:
> +            with vfs('namejournal', mode='a+b', atomictemp=True) as f:
>                   f.seek(0, os.SEEK_SET)
>                   # Read just enough bytes to get a version number (up to 2
>                   # digits plus separator)
> @@ -377,7 +377,7 @@ class journalstorage(object):
>               if sharednamespaces.get(e.namespace) in self.sharedfeatures)
>           return _mergeentriesiter(local, shared)
>
> -    def _open(self, vfs, filename='journal', _newestfirst=True):
> +    def _open(self, vfs, filename='namejournal', _newestfirst=True):
>           if not vfs.exists(filename):
>               return
>
> diff -r 4435d4c951ec -r 12908f372480 tests/test-journal.t
> --- a/tests/test-journal.t    Thu Aug 25 01:00:26 2016 -0400
> +++ b/tests/test-journal.t    Wed Aug 24 03:59:19 2016 +0200
> @@ -232,7 +232,7 @@ Test that verbose, JSON, template and co
>
>   Test for behaviour on unexpected storage version information
>
> -  $ printf '42\0' > .hg/journal
> +  $ printf '42\0' > .hg/namejournal
>     $ hg journal
>     previous locations of '.':
>     abort: unknown journal file version '42'
>

[cid:image5d8cd3.GIF at 90809048.40ba132f]
________________________________
This message, including its attachments, is confidential and the property of NNG Llc. For more information please read NNG's email policy here:
http://www.nng.com/emailpolicy/
By responding to this email you accept the email policy.

_______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at mercurial-scm.org
> https://urldefense.proofpoint.com/v2/url?u=https-3A__www.mercurial-2Dscm.org_mailman_listinfo_mercurial-2Ddevel&d=DQIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=nuarHzhP1wi1T9iURRCj1A&m=9971hZJGu4C0DNEfyfViw1jMJtIKsFjz8UGcTwW1hH0&s=v5HLuNdhi1_h0MO-UzoWtxIZMljK0fhIghWhmgRdN24&e=

_______________________________________________
Mercurial-devel mailing list
Mercurial-devel at mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.mercurial-scm.org/pipermail/mercurial-devel/attachments/20160827/3a57db53/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image5d8cd3.GIF
Type: image/gif
Size: 3700 bytes
Desc: image5d8cd3.GIF
URL: <http://www.mercurial-scm.org/pipermail/mercurial-devel/attachments/20160827/3a57db53/attachment.gif>


More information about the Mercurial-devel mailing list