commit - 0fbd721f10df717372951e1ea217faef10b4cfb0
commit + 9c4b8182fcfabf42c6dc904dfccd3c4aa9bb4bcf
blob - 746cf514efa8f22407e5ff7839677223a535a8a1
blob + 74fa300abb148f521b2bc42cb04ce259732327c3
--- got/got.c
+++ got/got.c
struct got_worktree *worktree = NULL;
char *worktree_path = NULL;
struct got_object_id *commit_id = NULL;
- const char *commit_id_str = NULL;
+ char *commit_id_str = NULL;
int ch;
while ((ch = getopt(argc, argv, "c:")) != -1) {
switch (ch) {
case 'c':
- commit_id_str = optarg;
+ commit_id_str = strdup(optarg);
+ if (commit_id_str == NULL)
+ return got_error_from_errno();
break;
default:
usage();
if (error != NULL)
goto done;
error = got_ref_resolve(&commit_id, repo, head_ref);
+ if (error != NULL)
+ goto done;
+ error = got_object_id_str(&commit_id_str, commit_id);
if (error != NULL)
goto done;
} else {
update_progress, NULL, checkout_cancel, NULL);
if (error != NULL)
goto done;
+
+ printf("Updated to commit %s\n", commit_id_str);
done:
free(worktree_path);
free(commit_id);
+ free(commit_id_str);
return error;
}
blob - 4fb24d61a698847ebfe40cb77aed98a0c3f92799
blob + d585d9b49ff2ad547568fa364a31746e807e66bf
--- regress/cmdline/common.sh
+++ regress/cmdline/common.sh
(cd $repo && git commit -q -a "$@")
}
+function git_show_head
+{
+ local repo="$1"
+ (cd $repo && git show --no-patch --pretty='format:%H')
+}
+
function make_test_tree
{
repo="$1"
blob - 416b75e596b98a2a99f5166940a851d6f9647589
blob + 736d20ef92439eec6ec53ed167e5b6461df3395d
--- regress/cmdline/update.sh
+++ regress/cmdline/update.sh
git_commit $testroot/repo -m "modified alpha"
echo "U alpha" > $testroot/stdout.expected
+ echo -n "Updated to commit " >> $testroot/stdout.expected
+ git_show_head $testroot/repo >> $testroot/stdout.expected
+ echo >> $testroot/stdout.expected
(cd $testroot/wt && got update > $testroot/stdout)