From: Stefan Sperling Subject: Re: Switch tog diff to -r To: Christian Weisgerber Cc: gameoftrees@openbsd.org Date: Sun, 23 Feb 2020 12:22:20 +0100 On Sun, Feb 23, 2020 at 12:14:12AM +0100, Christian Weisgerber wrote: > switch "tog diff" repository path argument to a new -r option ok. I had noticed this too. Thanks for writing a diff before I got around to it :) > diff 28e8fe3acba2cedafee5e122442ff2a68f84bc45 00d0285b8963519aa587493b9aecf828c44f563c > blob - 0dd65401b0dc391a3212722256b92a0e5afc702a > blob + f1e524913f216c6568a861e086ca56c709b0ee90 > --- tog/tog.1 > +++ tog/tog.1 > @@ -161,7 +161,7 @@ Use the repository at the specified path. > If not specified, assume the repository is located at or above the current > working directory. > .El > -.It Cm diff Oo Ar repository-path Oc Ar object1 object2 > +.It Cm diff Oo Fl r Ar repository-path Oc Ar object1 object2 > Display the differences between two objects in the repository. > Each > .Ar object > @@ -169,9 +169,6 @@ argument is an object ID SHA1 hash. > An abbreviated hash argument will be expanded to a full SHA1 hash > automatically, provided the abbreviation is unique. > Both objects must be of the same type (blobs, trees, or commits). > -If the > -.Ar repository path > -is omitted, use the current working directory. > .Pp > The key bindings for > .Cm tog diff > @@ -203,6 +200,16 @@ Regular expression syntax is documented in > Find the next line which matches the current search pattern. > .It Cm N > Find the previous line which matches the current search pattern. > +.El > +.Pp > +The options for > +.Cm tog diff > +are as follows: > +.Bl -tag -width Ds > +.It Fl r Ar repository-path > +Use the repository at the specified path. > +If not specified, assume the repository is located at or above the current > +working directory. > .El > .It Cm blame Oo Fl c Ar commit Oc Oo Fl r Ar repository-path Oc Ar path > Display line-by-line history of a file at the specified path. > blob - 1a25cb86d8ee8854fc60c819572513bd7d475850 > blob + db491e889c779a9a919851be200f178541a1974e > --- tog/tog.c > +++ tog/tog.c > @@ -2682,7 +2682,7 @@ __dead static void > usage_diff(void) > { > endwin(); > - fprintf(stderr, "usage: %s diff [repository-path] object1 object2\n", > + fprintf(stderr, "usage: %s diff [-r repository-path] object1 object2\n", > getprogname()); > exit(1); > } > @@ -3491,8 +3491,14 @@ cmd_diff(int argc, char *argv[]) > err(1, "pledge"); > #endif > > - while ((ch = getopt(argc, argv, "")) != -1) { > + while ((ch = getopt(argc, argv, "r:")) != -1) { > switch (ch) { > + case 'r': > + repo_path = realpath(optarg, NULL); > + if (repo_path == NULL) > + return got_error_from_errno2("realpath", > + optarg); > + break; > default: > usage_diff(); > /* NOTREACHED */ > @@ -3507,12 +3513,6 @@ cmd_diff(int argc, char *argv[]) > } else if (argc == 2) { > id_str1 = argv[0]; > id_str2 = argv[1]; > - } else if (argc == 3) { > - repo_path = realpath(argv[0], NULL); > - if (repo_path == NULL) > - return got_error_from_errno2("realpath", argv[0]); > - id_str1 = argv[1]; > - id_str2 = argv[2]; > } else > usage_diff(); > > > -- > Christian "naddy" Weisgerber naddy@mips.inka.de > >