commit - f6d88e1a0cac5d10deaafff839c36f2a9860dd8c
commit + 5e54fb308c7ad735d944068c063de6ac5276b93a
blob - 8491d04ea6102f5ea80a92987aebf4b3dc4e1f37
blob + 1c9eb57ad51151c9e4e3a1f258c9a1cd977fa114
--- lib/object.c
+++ lib/object.c
size_t seglen;
*id = NULL;
-
- /* We are expecting an absolute in-repository path. */
- if (path[0] != '/')
- return got_error(GOT_ERR_NOT_ABSPATH);
err = got_object_open_as_commit(&commit, repo, commit_id);
if (err)
goto done;
/* Handle opening of root of commit's tree. */
- if (path[1] == '\0') {
+ if (got_path_is_root_dir(path)) {
*id = got_object_id_dup(commit->tree_id);
if (*id == NULL)
err = got_error_from_errno("got_object_id_dup");
goto done;
s = path;
- s++; /* skip leading '/' */
+ while (s[0] == '/')
+ s++;
seg = s;
seglen = 0;
while (*s) {
blob - 584c34ece375b5bcf37239b7a0182a3c669c81a2
blob + eec57c20d733b805cc1aa054046717a7aadac832
--- regress/cmdline/revert.sh
+++ regress/cmdline/revert.sh
return 1
fi
- echo "modified alpha" > $testroot/wt/alpha
+ echo "modified epsilon/zeta" > $testroot/wt/epsilon/zeta
- echo 'R alpha' > $testroot/stdout.expected
+ echo 'R epsilon/zeta' > $testroot/stdout.expected
- (cd $testroot/wt && got revert alpha > $testroot/stdout)
+ (cd $testroot/wt && got revert epsilon/zeta > $testroot/stdout)
cmp -s $testroot/stdout.expected $testroot/stdout
ret="$?"
return 1
fi
- echo "alpha" > $testroot/content.expected
- cat $testroot/wt/alpha > $testroot/content
+ echo "zeta" > $testroot/content.expected
+ cat $testroot/wt/epsilon/zeta > $testroot/content
cmp -s $testroot/content.expected $testroot/content
ret="$?"