schu
fd21c6f67f
Add test case checking we do not corrupt the repository when renaming
...
Signed-off-by: schu <schu-github@schulog.org>
2011-06-05 19:20:57 +02:00
Romain Geissler
76e9e3b763
Tests: Added tests for git_repository_discover.
...
Unfortunately, the across_fs flag can't be tested automaticly, as we can't
create a temporary new filesystem.
2011-06-05 00:23:24 +02:00
Romain Geissler
a993e4fe06
Fileops: Fixed gitfo_mkdir_recurs so that it proprely works with a path without trailing slash.
...
It used to discard the last directory if the path didn't have a trailing slash.
2011-06-05 00:20:35 +02:00
Romain Geissler
f2a60854cd
Repository: Fixed the path returned by read_gitfile (remove trailing slashes)
2011-06-05 00:18:34 +02:00
Romain Geissler
8b05e78018
Repository: Fixed a bug in read_gitfile (proprely remove trailings newlines)
2011-06-05 00:17:26 +02:00
Vicent Marti
602ee38b6e
repository: Export all internal paths
2011-06-04 20:45:09 +02:00
Romain Geissler
9d9bab5c38
Repository: Fixed some errors with ceiling_dirs in git_repository_discover.
...
Now the ceiling_dirs are compared with their symbolic free version (like base_path).
The ceiling dirs check is now performed after getting the parent directory.
2011-06-04 16:28:39 +02:00
David Glesser
f4c925c514
Change a dirty indentation
2011-06-04 16:09:19 +02:00
Vicent Martí
793545ef2b
Merge pull request #227 from Romain-Geissler/discovery-path-v2
...
Discovery path v2
2011-06-03 17:41:53 -07:00
Romain Geissler
fd0574e5ad
Repository: Added the git_repository_discover function that finds by itself the git directory that manage a given directory path.
2011-06-04 01:05:36 +02:00
Romain Geissler
222cf1d459
Repository: Splitted the repository destructor into a helper part (only free directories path) and the complete public destructor.
2011-06-04 00:14:37 +02:00
Romain Geissler
6a01b6bd60
Repository: Added read_gitfile that allows you to read a .git file and extract the git directory path.
2011-06-04 00:10:55 +02:00
Romain Geissler
f2e6b8776e
Repository: Added some util functions that we'll need to discover repository path.
...
retrieve_device returns the file device for a given path (so that we can detect device change while walking through parent directories).
abspath returns a canonicalized path, symbolic link free.
retrieive_ceiling_directories_offset returns the biggest path offset that path match in the ceiling directory list (so that we can stop at ceiling directories).
2011-06-04 00:00:28 +02:00
Romain Geissler
1549cba9a4
Filebuf: Fixed a TODO in filebuf (real lock in lock_file)
...
Added gitfo_creat_locked and gitfo_creat_locked_force
2011-06-03 23:08:42 +02:00
Vicent Marti
3a42e0a370
index: Add git_index_entry_stage
method
...
As suggested by Romain-Geissler
2011-06-03 21:38:55 +02:00
Romain Geissler
bc6484912e
Fileops: Added gitfo_isfile.
...
Conflicts:
src/fileops.c
2011-06-03 21:20:20 +02:00
unknown
26a98ec8a2
Fileops: Added a fourth argument to the path prettifying functions to use an alternate basepath.
...
Fixed a Windows TO-DO in the prettifying functions.
2011-06-03 21:04:02 +02:00
unknown
bb88da7f90
Sha1Lookup: Fixed two MSVC compilation warnings.
2011-06-03 21:03:58 +02:00
Vicent Marti
0291b5b76b
odb: Fix loading ODB alternates
...
Fixed an issue with the `strtokz implementation and added support for
comments and relative paths in the alternates file.
2011-06-03 20:01:18 +02:00
Romain Geissler
04fdc10d35
Fileops:retrieve_path_root_offset is now named gitfo_retrieve_path_root_offset (like other public functions). Added platform specific directory separator definition.
2011-06-03 19:26:45 +02:00
Vicent Martí
1e9b7a09ff
Merge pull request #144 from nordsturm/fix_fakewstream
...
Fix fake wstream write
2011-06-02 15:12:37 -07:00
Vicent Marti
7107b599d7
odb-pack: More variable declarations
2011-06-02 01:03:52 +02:00
Vicent Marti
7b5fe049d1
odb-pack: Do not declare variables mid-function
2011-06-02 00:47:51 +02:00
Vicent Marti
fea400f87b
signature: Fix compilation
2011-06-01 23:41:30 +02:00
Vicent Marti
d0323a5f63
short-oid: Cleanup
2011-06-01 23:40:42 +02:00
Marc Pegon
aea8a638f2
Implemented read_unique_short_oid method for loose backend.
2011-06-01 23:40:42 +02:00
Marc Pegon
6c8ca697be
Fixed some error messages related to searching objects from a short oid. Fixed forgot to check that prefix length is greater than minimum prefix length in read_unique_short_oid method from pack backend.
2011-06-01 23:40:42 +02:00
Marc Pegon
7d74cd44d5
Deleted unused method git_cached_object_match, since we do not explore the cache when searching objects from a short oid.
2011-06-01 23:40:42 +02:00
Marc Pegon
da03c9f35b
Changed return value of git_oid_match to be consistent with the other compare methods (0 means oids match). Added method to compare prefixes of hex formatted oids.
2011-06-01 23:40:42 +02:00
Marc Pegon
ac2b94ad76
Added a GIT_OID_MINPREFIXLEN constant to define the minimum length allowed for oid prefixes (set to 4, like in git). Consequently updated some object lookup methods and their documentation.
2011-06-01 23:40:41 +02:00
Marc Pegon
dd453c4dbf
Added git.git sha1 lookup method to replace simple binary search in pack backend.
...
Implemented find_unique_short_oid for pack backend, based on git sha1 lookup method;
finding an object given its full oid is just a particular case of searching
the unique object matching an oid prefix (short oid).
Added git_odb_read_unique_short_oid, which iterates over all the backends to
find and read the unique object matching the given oid prefix.
Added a git_object_lookup_short_oid method to find the unique object in
the repository matching a given oid prefix : it generalizes git_object_lookup
which now does nothing but calls git_object_lookup_short_oid.
2011-06-01 23:40:41 +02:00
Marc Pegon
53c0bd81a2
Added error for ambiguous oid prefixes. Added methods to compare the first nth hexadecimal characters (i.e. packets of 4 bits) of OIDs.
2011-06-01 23:40:41 +02:00
Marc Pegon
ecd6fdf1f7
Added a read_unique_short_oid method to backends, to make it possible to find objects from sha1 prefixes in the future. Default implementations throw GIT_ENOTIMPLEMENTED for strict prefixes (i.e. length < GIT_OID_HEXSZ).
2011-06-01 23:40:41 +02:00
Vicent Martí
4a51e99814
Merge pull request #224 from glesserd/tagparsing
...
Fix tag and signature parsing
2011-06-01 12:57:47 -07:00
Vicent Martí
dd8a2070ce
Merge pull request #215 from schu/typos
...
Fix typos
2011-06-01 12:54:15 -07:00
Vicent Martí
46d359d1c3
Merge pull request #218 from schu/tests-fflush
...
test_lib.c: flush stdout after every test-run
2011-06-01 12:53:46 -07:00
Vicent Martí
a7fdce6206
Merge pull request #223 from carlosmn/valgrind
...
Plug a leak in the index unmerged entries vector
2011-06-01 12:53:16 -07:00
Vicent Martí
9db04160a5
Merge pull request #222 from carlosmn/config-bugfix
...
Config bugfix
2011-06-01 12:52:50 -07:00
Vicent Martí
50b7334e51
Merge pull request #206 from nulltoken/topic/is-bare
...
Add git_repository_is_bare() accessor
2011-06-01 09:58:21 -07:00
Vicent Marti
786ad84fa9
index: Cleanup tree parsing
2011-06-01 18:54:56 +02:00
Carlos Martín Nieto
a02fc2cd16
index: correctly parse invalidated TREE extensions
...
A TREE extension with an entry count of -1 means that it was
invalidated and we should ignore it. Do so instead of returning an
error.
This fixes issue #202
Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
2011-06-01 18:54:56 +02:00
Carlos Martín Nieto
cdd9fd473e
Allow read_tree_internal to return an error code
...
There are two reasons why read_tree_internal might return a NULL
tree. The first one is a corrupt index, but the second one is an
invalidated TREE extension. Up to now, its only way to communicate
with its caller was through the return value being NULL or not.
Allow read_tree_internal to report its exit status independently from
the tree pointer.
Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
2011-06-01 18:54:56 +02:00
Vicent Marti
f7e59c4dcf
index: Change the memory management for repo indexes
...
The `git_repository_index` call now returns a brand new index that must
be manually free'd.
2011-06-01 18:54:47 +02:00
Vicent Marti
ef5ffed39a
object: Update documentation
2011-06-01 18:45:23 +02:00
David Glesser
fbfc758022
Fix tag and signature parsing
...
Before this commit, malformed tag and signature were considered as
valid by the parser. See the test t3800-mktag.sh of git to see example
of malformed tag and signature.
2011-05-31 18:38:59 +02:00
Carlos Martín Nieto
fc0ee5bdd3
Add test for empty config file
...
Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
2011-05-31 17:57:18 +02:00
Carlos Martín Nieto
c7e6e95841
Don't try to parse an empty config file
...
Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
2011-05-31 17:57:18 +02:00
Carlos Martín Nieto
30d0550da8
Add test for invalid ext header
...
Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
2011-05-31 17:57:17 +02:00
Carlos Martín Nieto
38d0bc1e81
Add config test for empty line
...
Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
2011-05-31 17:57:17 +02:00
Carlos Martín Nieto
5892277cd0
Config parse header ext: don't allow text after closing quote
...
Nothing is allowed betwen the closing quotation mark and the ] so
return an error if there is.
Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
2011-05-31 17:33:24 +02:00