mercurial/store.py
Tue, 31 May 2022 22:50:01 +0200 Manuel Jacob py3: catch FileNotFoundError instead of checking errno == ENOENT
Sun, 29 May 2022 15:17:27 +0200 Manuel Jacob py3: replace `pycompat.xrange` by `range`
Mon, 21 Feb 2022 13:08:28 -0700 Gregory Szorc py3: use class X: instead of class X(object):
Mon, 21 Feb 2022 12:42:48 -0700 Gregory Szorc py3: stop using util.iterfile()
Thu, 03 Mar 2022 18:28:30 -0800 Gregory Szorc global: bulk replace simple pycompat.iteritems(x) with x.items()
Thu, 03 Mar 2022 17:34:00 +0100 Gregory Szorc py2: remove simple from __future__ statements
Mon, 02 Aug 2021 08:05:13 -0400 Valentin Gatien-Baron store: return just one filename in walk functions
Tue, 27 Jul 2021 19:36:20 +0200 Pierre-Yves David store: document the decoding discrepancy in store.py stable
Mon, 19 Jul 2021 22:39:08 +0200 Pierre-Yves David walk: no longer ignore revlogs of files starting with `undo.` (issue6542)
Tue, 08 Jun 2021 02:05:05 +0200 Pierre-Yves David vfs: add a `register_file` method on the vfs class
Fri, 28 May 2021 23:41:17 +0200 Pierre-Yves David revlog: store sidedata in their own file
Wed, 19 May 2021 16:55:36 +0200 Pierre-Yves David revlogv2: use a unique filename for data
Mon, 03 May 2021 12:34:11 +0200 Pierre-Yves David revlogv2: introduce a very basic docket file
Mon, 03 May 2021 12:28:15 +0200 Pierre-Yves David revlog: open files in 'r+' instead of 'a+'
Fri, 30 Apr 2021 16:13:02 -0700 Kyle Lippincott black: make codebase compatible with black v21.4b2 and v20.8b1 stable
Tue, 20 Apr 2021 04:27:03 +0200 Pierre-Yves David store: exclude `undo.` nodemap's file from `walk`
Tue, 20 Apr 2021 05:08:55 +0200 Pierre-Yves David streamclone: treat volatile file as "fullfile"
Tue, 06 Apr 2021 10:38:03 +0200 Pierre-Yves David store: also return some information about the type of file `walk` found
Tue, 06 Apr 2021 10:37:55 +0200 Pierre-Yves David store: drop the `filefilter` argument to `_walk`
Tue, 06 Apr 2021 10:37:47 +0200 Pierre-Yves David store: document the `walk` method
Thu, 25 Mar 2021 18:02:08 +0100 Raphaël Gomès contributor: change mentions of mpm to olivia
Wed, 13 Jan 2021 16:14:58 +0100 Joerg Sonnenberger node: introduce nodeconstants class
Wed, 03 Feb 2021 16:33:10 -0800 Kyle Lippincott revlog: add a mechanism to verify expected file position before appending
Mon, 25 Jan 2021 16:34:43 +0100 Pierre-Yves David store: use `endswith` to detect revlog extension
Sun, 17 Jan 2021 20:27:59 +0100 Pierre-Yves David persistent-nodemap: also exchange the nodemap data over the wire
Tue, 12 Jan 2021 19:49:18 +0100 Pierre-Yves David persistent-nodemap: also list related file as part of the store
Tue, 01 Dec 2020 21:54:46 +0100 Joerg Sonnenberger node: import symbols explicitly
Fri, 27 Nov 2020 17:03:29 -0500 Augie Fackler formating: upgrade to black 20.8b1
Tue, 14 Apr 2020 21:07:09 +0530 Pulkit Goyal share: introduce config option to store requires in .hg/store
Sat, 08 Aug 2020 10:13:37 -0700 Pulkit Goyal store: refactor space delimited list to proper data structure
Fri, 06 Mar 2020 13:27:41 -0500 Augie Fackler cleanup: run pyupgrade on our source tree to clean up varying things
Mon, 13 Jan 2020 17:15:14 -0500 Augie Fackler core: migrate uses of hashlib.sha1 to hashutil.sha1
Fri, 08 Nov 2019 11:19:20 -0800 Augie Fackler cleanup: remove pointless r-prefixes on single-quoted strings
Mon, 07 Oct 2019 00:04:04 -0400 Gregory Szorc py3: finish porting iteritems() to pycompat and remove source transformer
Sun, 06 Oct 2019 16:55:18 -0400 Gregory Szorc py3: manually import getattr where it is needed
Sun, 06 Oct 2019 09:48:39 -0400 Augie Fackler formatting: byteify all mercurial/ and hgext/ string literals
Sun, 06 Oct 2019 09:45:02 -0400 Augie Fackler formatting: blacken the codebase
Thu, 15 Aug 2019 14:53:27 -0400 Augie Fackler localrepo: push manifestlog and changelog construction code into store
Mon, 12 Aug 2019 14:00:19 -0400 Valentin Gatien-Baron fncache: make debugrebuildfncache not fail on broken fncache stable
Mon, 15 May 2017 00:12:19 -0700 Martin von Zweigbergk match: use '' instead of '.' for root directory (API)
Wed, 15 May 2019 22:09:02 -0700 Martin von Zweigbergk bookmarks: keep bookmarks in .hg/store if new config set
Wed, 20 Mar 2019 20:39:44 +0300 Pulkit Goyal store: recommend using `hg debugrebuildfncache` is fncache is corrupted
Mon, 18 Mar 2019 16:56:24 +0300 Pulkit Goyal store: error out if fncache does not ends with a newline
Thu, 22 Nov 2018 15:14:24 +0300 Pulkit Goyal store: don't read the whole fncache in memory
Wed, 27 Feb 2019 16:29:48 +0300 Pulkit Goyal store: move logic to check for invalid entry in fncache to own function
Wed, 02 Jan 2019 10:29:12 +0100 Boris Feld vfs: fix proxyvfs inheritance
Tue, 27 Nov 2018 16:16:13 +0300 Pulkit Goyal store: write fncache only once if there are both adds and removes
Fri, 23 Nov 2018 18:58:16 +0300 Pulkit Goyal store: append to fncache if there are only new files to write
Tue, 13 Nov 2018 18:44:09 +0300 Pulkit Goyal store: raise ProgrammingError if unable to decode a storage path
Sat, 10 Nov 2018 11:52:32 +0900 Yuya Nishihara store: pass in decoded filename to narrow matcher
Wed, 17 Oct 2018 17:42:32 +0300 Pulkit Goyal store: introduce _matchtrackedpath() and use it to filter store files
Wed, 03 Oct 2018 16:45:24 +0300 Pulkit Goyal store: pass matcher to store.datafiles()
Wed, 12 Sep 2018 15:07:27 -0700 Gregory Szorc localrepo: move store() from store module
Thu, 02 Aug 2018 14:57:20 -0700 Martin von Zweigbergk narrow: move .hg/narrowspec to .hg/store/narrowspec (BC)
Wed, 01 Aug 2018 13:00:45 -0700 Gregory Szorc global: use pycompat.xrange()
Sat, 14 Jul 2018 02:10:43 +0200 Boris Feld store: assert the fncache have been loaded if dirty
Wed, 11 Jul 2018 14:28:13 +0100 Martijn Pieters fncache: avoid loading the filename cache when not actually modifying it
Wed, 04 Apr 2018 10:16:08 -0700 Gregory Szorc store: make file filtering during walk configurable
Fri, 29 Dec 2017 05:25:27 +0530 Pulkit Goyal py3: use node.hex(h.digest()) instead of h.hexdigest()
Sun, 03 Sep 2017 17:28:47 +0900 Yuya Nishihara py3: iterate bytes as a byte string in store.lowerencode()
Sun, 03 Sep 2017 17:27:50 +0900 Yuya Nishihara py3: use bytechr() in store._buildlowerencodefun()
Sun, 03 Sep 2017 17:26:10 +0900 Yuya Nishihara store: give name to lowerencode function
Sun, 03 Sep 2017 15:47:17 +0900 Yuya Nishihara doctest: do not embed non-ascii characters in docstring
Sun, 03 Sep 2017 14:32:11 +0900 Yuya Nishihara doctest: bulk-replace string literals with b'' for Python 3
Fri, 07 Jul 2017 23:40:00 +0900 Yuya Nishihara vfs: rename auditvfs to proxyvfs
Sat, 13 Aug 2016 12:23:56 +0900 Yuya Nishihara parsers: switch to policy importer
Sun, 12 Mar 2017 00:50:44 -0500 Augie Fackler store: fix many single-byte ops to use slicing in _auxencode
Wed, 08 Mar 2017 22:30:12 +0900 Yuya Nishihara py3: factor out bytechr() function
Thu, 02 Mar 2017 13:30:10 +0100 Pierre-Yves David vfs: use 'vfs' module directly in 'mercurial.store'
Wed, 08 Mar 2017 00:40:15 +0530 Pulkit Goyal store: slice over a bytestring to get characters instead of ascii values
Tue, 07 Feb 2017 23:25:37 +0530 Pulkit Goyal py3: fix the way we produce bytes list in store.py
Mon, 14 Nov 2016 23:15:01 +0000 Jun Wu store: migrate to util.iterfile
Sun, 09 Oct 2016 12:58:22 +0200 Martijn Pieters store: py26 compat, don't use a dict comprehension
Sat, 08 Oct 2016 08:54:05 -0700 Mateusz Kwapich py3: make encodefun in store.py compatible with py3k
Sat, 08 Oct 2016 08:45:28 -0700 Mateusz Kwapich py3: make the string unicode so its iterable in py3k
Fri, 10 Jun 2016 00:10:06 -0400 Augie Fackler store: use hashlib.sha1 directly instead of through util
Sun, 10 Apr 2016 07:28:26 +0000 timeless store: treat range as a generator instead of a list for py3 compat
Thu, 04 Feb 2016 08:34:07 -0800 Martin von Zweigbergk treemanifests: fix streaming clone
Tue, 02 Feb 2016 17:31:17 -0800 Martin von Zweigbergk treemanifests: fix local clone
Mon, 21 Dec 2015 21:19:57 -0800 Gregory Szorc store: use absolute_import
Wed, 14 Oct 2015 22:29:03 -0400 timeless l10n: use %d instead of %s for numbers
Thu, 08 Oct 2015 12:55:45 -0700 Pierre-Yves David error: get Abort from 'error' instead of 'util'
Tue, 23 Jun 2015 22:20:08 -0700 Gregory Szorc global: mass rewrite to use modern exception syntax
Tue, 23 Jun 2015 22:30:33 -0700 Gregory Szorc global: mass rewrite to use modern octal syntax
Mon, 13 Apr 2015 23:21:02 -0700 Martin von Zweigbergk treemanifest: store submanifest revlog per directory
Wed, 13 May 2015 20:36:56 +0200 Adrian Buehlmann store: add comment in _hashencode with reason for skipping the first 5 chars
Wed, 06 May 2015 15:58:14 -0700 Martin von Zweigbergk pathencode: for long paths, strip first 5 chars, not first dir
Thu, 03 Apr 2014 12:59:12 -0500 Matt Mackall store: drop unused existing list
Mon, 24 Mar 2014 15:43:15 -0700 Durham Goode fncache: clean up fncache during strips
Mon, 24 Mar 2014 15:35:07 -0700 Durham Goode caches: invalidate store caches when lock is taken
Mon, 24 Mar 2014 15:42:13 -0700 Durham Goode fncache: move fncache writing to be in a transaction
Mon, 24 Mar 2014 15:31:47 -0700 Durham Goode fncache: remove the rewriting logic
Tue, 15 Oct 2013 00:51:05 +0900 FUJIWARA Katsunori store: use "vfs.exists()" instead of "os.path.exists()"
Wed, 08 May 2013 14:22:00 -0700 Durham Goode store: move top file walk to a separate function
Wed, 12 Dec 2012 13:09:37 -0800 Bryan O'Sullivan store: switch to C-based hashed path encoding
Wed, 12 Dec 2012 13:09:33 -0800 Bryan O'Sullivan store: implement lowerencode in C
Sun, 09 Dec 2012 23:33:16 +0100 Mads Kiilerich check-code: there must also be whitespace between ')' and operator
Mon, 22 Oct 2012 11:59:11 -0700 Bryan O'Sullivan scmutil: abstract out mustaudit delegation stable
Fri, 12 Oct 2012 10:52:33 +0200 Adrian Buehlmann store: fncache may contain non-existent entries (fixes b9a56b816ff2)
Fri, 12 Oct 2012 10:52:32 +0200 Adrian Buehlmann store: add new _exists helper function on fncachestore
Fri, 12 Oct 2012 10:40:09 +0200 Adrian Buehlmann store: move __contains__() implementation from class fncache into fncachestore
Tue, 09 Oct 2012 16:17:55 +0900 FUJIWARA Katsunori store: invoke "osutil.listdir()" via vfs
Thu, 13 Sep 2012 17:57:43 -0700 smuralid store: add a contains method to fncachestore
Thu, 13 Sep 2012 17:00:34 -0700 smuralid store: add a contains method to basicstore
Wed, 10 Oct 2012 01:29:56 +0200 Mads Kiilerich spelling: fix minor spell checker issues
Mon, 08 Oct 2012 16:46:11 -0500 Matt Mackall store: restore getsize method
Tue, 09 Oct 2012 01:41:55 +0900 FUJIWARA Katsunori store: invoke "os.path.isdir()" via vfs
Tue, 09 Oct 2012 01:41:55 +0900 FUJIWARA Katsunori store: replace invocation of "getsize()" by "vfs.stat()"
Tue, 09 Oct 2012 01:41:55 +0900 FUJIWARA Katsunori store: invoke "os.stat()" for "createmode" initialization via vfs
Tue, 09 Oct 2012 01:41:55 +0900 FUJIWARA Katsunori vfs: define "join()" in each classes derived from "abstractvfs"
Tue, 09 Oct 2012 01:41:55 +0900 FUJIWARA Katsunori store: initialize vfs field first to use it for initialization of others
Tue, 09 Oct 2012 01:41:55 +0900 FUJIWARA Katsunori store: rename field name from "opener" to "vfs" in internal classes for fncache
Tue, 09 Oct 2012 01:41:55 +0900 FUJIWARA Katsunori store: rename argument name from "op"(ener) to "vfs"
Sun, 30 Sep 2012 23:53:56 +0200 Adrian Buehlmann store: optimize _pathencode by checking the length of the unencoded path
Fri, 31 Aug 2012 02:06:29 +0900 FUJIWARA Katsunori store: initialize "vfs" fields by "vfs" constructors
Fri, 31 Aug 2012 02:06:29 +0900 FUJIWARA Katsunori store: rename "op" variables to "vfs"
Fri, 31 Aug 2012 02:06:29 +0900 FUJIWARA Katsunori store: rename "openertype" argument to "vfstype"
Fri, 31 Aug 2012 02:06:29 +0900 FUJIWARA Katsunori scmutil: rename classes from "opener" to "vfs"
Wed, 19 Sep 2012 14:00:23 +0200 Adrian Buehlmann store: add a fallback _pathencode Python function
Wed, 19 Sep 2012 13:58:51 +0200 Adrian Buehlmann store: move _plainhybridencode and _dothybridencode higher up in the file
Wed, 19 Sep 2012 11:39:07 +0200 Adrian Buehlmann store: fix _hashencode call in _dothybridencode
Tue, 18 Sep 2012 16:25:20 -0700 Bryan O'Sullivan store: use native fncache encoding function if available
Tue, 18 Sep 2012 14:37:32 -0700 Bryan O'Sullivan store: refactor hashed encoding into its own function
Tue, 18 Sep 2012 19:51:59 +0200 Adrian Buehlmann store: reuse direncoded path in _hybridencode
Tue, 18 Sep 2012 19:51:48 +0200 Adrian Buehlmann store: extract functions _encodefname and _decodefname
Tue, 18 Sep 2012 11:44:16 +0200 Adrian Buehlmann store: use fast C implementation of encodedir() if it's available
Tue, 18 Sep 2012 07:58:50 +0200 Adrian Buehlmann store: add multiline doctest case for encodedir()
Mon, 17 Sep 2012 11:00:38 +0200 Adrian Buehlmann store: optimize fncache._load a bit by dirdecoding the contents in one go
Mon, 17 Sep 2012 08:58:35 +0200 Adrian Buehlmann store: optimize fncache._write by direncoding the contents in one go
Sun, 16 Sep 2012 11:41:02 +0200 Adrian Buehlmann store: move encode lambda logic into fncachestore
Sun, 16 Sep 2012 11:36:14 +0200 Adrian Buehlmann store: eliminate one level of lambda functions on _hybridencode
Sun, 16 Sep 2012 11:36:06 +0200 Adrian Buehlmann store: parameter path of _auxencode is now a list of strings
Sun, 16 Sep 2012 11:36:00 +0200 Adrian Buehlmann store: keep an accumulated length for the shorted dirs in _hybridencode
Sun, 16 Sep 2012 11:35:55 +0200 Adrian Buehlmann store: reorder basename assignment in _hybridencode
Sat, 15 Sep 2012 21:44:08 +0200 Adrian Buehlmann store: remove uneeded startswith('data/') checks in encodedir() and decodedir()
Sat, 15 Sep 2012 21:43:56 +0200 Adrian Buehlmann store: remove uneeded startswith('data/') check in _hybridencode()
Sat, 15 Sep 2012 21:43:14 +0200 Adrian Buehlmann store: refactor splitting off of "data/" in _hybridencode()
Sat, 15 Sep 2012 21:43:05 +0200 Adrian Buehlmann store: let _auxencode() return the list of path segments
Sat, 15 Sep 2012 21:42:58 +0200 Adrian Buehlmann store: eliminate unneded last assignment to n in _auxencode()
Sat, 15 Sep 2012 21:42:52 +0200 Adrian Buehlmann store: unindent most of the contents of the for loop in _auxencode()
Sat, 15 Sep 2012 21:42:43 +0200 Adrian Buehlmann store: optimize _auxencode() by assigning to the list elements of the path
Sat, 15 Sep 2012 21:41:09 +0200 Adrian Buehlmann store: optimze _auxencode() a bit by grouping the reserved names by length
Sat, 15 Sep 2012 21:41:53 +0200 Adrian Buehlmann store: explain "aux.foo" versus "foo.aux" in doc of _auxencode()
Sat, 15 Sep 2012 21:41:45 +0200 Adrian Buehlmann store: add 'com0' and 'lpt0' doctest cases for _auxencode()
Fri, 14 Sep 2012 12:09:05 -0700 Bryan O'Sullivan store: reduce string concatenation when joining
Fri, 14 Sep 2012 12:04:46 -0700 Bryan O'Sullivan scmutil: delegate mustaudit property to the real opener
Wed, 15 Aug 2012 16:31:25 -0700 Bryan O'Sullivan store: only one kind of OSError means "nonexistent entry" stable
Wed, 15 Aug 2012 16:30:32 -0700 Bryan O'Sullivan store: sort the results of fncachestore.datafiles() stable
Wed, 25 Jul 2012 19:02:35 +0200 Pierre-Yves David clone: copy obsolete markers during local clone stable
Mon, 25 Jun 2012 15:14:06 -0700 Bryan O'Sullivan store: abstract out how we retrieve a file's size
Mon, 25 Jun 2012 15:14:05 -0700 Bryan O'Sullivan store: sort filenames in place
Thu, 12 Apr 2012 15:21:54 -0700 Bryan O'Sullivan store: speed up read and write of large fncache files
Tue, 27 Dec 2011 00:11:22 +0100 Pierre-Yves David phases: prevent rebase to rebase immutable changeset.
Mon, 26 Dec 2011 13:47:37 +0100 Pierre-Yves David phases: copy phases data on local clone
Thu, 25 Aug 2011 20:21:04 -0400 Greg Ward atomictempfile: make close() consistent with other file-like objects.
Sun, 08 May 2011 23:27:48 +0200 Adrian Buehlmann store: change names to comply with project coding standards
Wed, 04 May 2011 12:58:59 +0200 Adrian Buehlmann store: break up reference cycle introduced in 9cbff8a39a2a
Mon, 02 May 2011 09:11:35 +0200 Dan Villiom Podlaski Christiansen store: use a subclass, not a function for fncacheopener
Sat, 30 Apr 2011 19:36:48 +0200 Dan Villiom Podlaski Christiansen store: rename the 'opener' argument to 'openertype'
Sat, 30 Apr 2011 19:37:13 +0200 Dan Villiom Podlaski Christiansen add filteropener abstraction for store openers
Sun, 17 Apr 2011 17:55:34 +0200 Adrian Buehlmann store: add some doctests
Wed, 16 Feb 2011 15:02:30 +0100 Adrian Buehlmann store: remove pointless pathjoiner parameter
Fri, 28 Jan 2011 13:38:34 +0100 Adrian Buehlmann fncachestore: defer updating the fncache file to a single file open
Fri, 17 Dec 2010 10:40:26 +0100 Adrian Buehlmann fncachestore: copy dh directory before the manifest stable
Sat, 09 Oct 2010 21:54:50 +0200 Adrian Buehlmann store: encode first period or space in filenames (issue1713)
Sun, 05 Sep 2010 21:00:04 +0200 Thomas Arendsen Hein store: Removed extra space in _data list
Thu, 12 Aug 2010 16:45:47 +0900 Nicolas Dumazet store: skip decodir check if path does not contain '.hg/'
Wed, 03 Mar 2010 14:50:35 +0100 Adrian Buehlmann store: only add new entries to the fncache file stable
Fri, 05 Feb 2010 18:50:08 +0100 Benoit Boissinot fix spaces/identation issues
Mon, 25 Jan 2010 00:05:27 -0600 Matt Mackall many, many trivial check-code fixups
Tue, 19 Jan 2010 22:20:08 -0600 Matt Mackall Update license to GPLv2+ stable
Tue, 14 Jul 2009 14:05:07 +0200 Simon Heimberg store: eliminate reference cycle in fncachestore
Wed, 10 Jun 2009 15:10:21 +0200 Benoit Boissinot use new style classes
Tue, 26 May 2009 23:49:53 +0200 Benoit Boissinot store encoding: .i/.d encoding for non-store repo (broken by 810387f59696)
Wed, 20 May 2009 18:35:47 +0200 Benoit Boissinot filelog encoding: move the encoding/decoding into store
Wed, 20 May 2009 18:35:41 +0200 Benoit Boissinot store: refactor the fncache handling
Sun, 17 May 2009 16:56:20 +0200 Martin Geisler store: create set directly from iterable
Sun, 17 May 2009 04:16:44 +0200 Benoit Boissinot store: use set instead of dict
Tue, 28 Apr 2009 17:40:46 +0200 Simon Heimberg separate import lines from mercurial and general python modules
Sun, 26 Apr 2009 01:08:54 +0200 Martin Geisler updated license to be explicit about GPL version 2
Sun, 26 Apr 2009 16:50:44 -0500 Matt Mackall replace various uses of list.reverse()
Sun, 26 Apr 2009 16:50:44 -0500 Matt Mackall replace util.sort with sorted built-in
Thu, 26 Mar 2009 13:54:44 -0500 Matt Mackall util: split out posix, windows, and win32 modules
Sat, 13 Dec 2008 18:32:29 +0100 Adrian Buehlmann store: encode trailing period and space on directory names (issue1417)
Sat, 13 Dec 2008 17:39:56 +0100 Adrian Buehlmann store: don't create dirs ending in period or space for hashed paths (issue1417)
Tue, 28 Oct 2008 19:25:26 +0100 Benoit Boissinot remove unused variables
Fri, 24 Oct 2008 15:00:40 +0200 Thomas Arendsen Hein Remove trailing spaces.
Sun, 19 Oct 2008 19:12:07 +0200 Adrian Buehlmann introduce fncache repository layout
Fri, 05 Sep 2008 11:00:07 +0200 Patrick Mezard store: pathjoiner default value is os.path.join
Sun, 31 Aug 2008 00:22:20 +0200 Adrian Buehlmann Fix for Issue1260
Wed, 13 Aug 2008 20:18:44 -0500 Matt Mackall clone: get a list of files to clone from store
Wed, 13 Aug 2008 20:18:44 -0500 Matt Mackall store: drop self.encodefn
Wed, 13 Aug 2008 20:18:43 -0500 Matt Mackall store: change handling of decoding errors
Wed, 13 Aug 2008 20:18:43 -0500 Matt Mackall store: simplify walking
Wed, 13 Aug 2008 20:18:43 -0500 Matt Mackall store: simplify class hierarchy
Wed, 13 Aug 2008 20:18:43 -0500 Matt Mackall statichttp: use store class
Wed, 13 Aug 2008 20:18:42 -0500 Matt Mackall store: take opener as an argument
Wed, 13 Aug 2008 20:18:41 -0500 Adrian Buehlmann verify: check repo.store
Wed, 13 Aug 2008 20:18:41 -0500 Adrian Buehlmann store.py: accept empty repos
Thu, 24 Jul 2008 16:32:52 +0200 Adrian Buehlmann introduce store classes
Thu, 24 Jul 2008 16:32:51 +0200 Adrian Buehlmann move filename encoding functions from util.py to new store.py
less more (0) tip