Download raw body.
improve 'tog diff' patch file names in /tmp
On Fri, Aug 29, 2025 at 01:38:02PM +0200, Stefan Sperling wrote: > Make 'tog diff' show the repository name in names of patches written > to /tmp. This makes selecting a patch in /tmp a tiny bit easier while > dealing with multiple projects in parallel. > > ok? > ran into this myself the other day. welcome change. > > M tog/tog.c | 9+ 2- > > 1 file changed, 9 insertions(+), 2 deletions(-) > > commit - a906b277aa501d5897960b8e9f4466450d91dcac > commit + 87514a0663e524cab02f7be984992879b4bffcd9 > blob - 0ccc6a0f788f55d0c7f1bd60778f977402cfd4d8 > blob + 44b2d7f8b746631a2dcc8691478e5b582881c5e3 > --- tog/tog.c > +++ tog/tog.c > @@ -7003,6 +7003,7 @@ diff_write_patch(struct tog_view *view) > FILE *f = NULL; > char buf[BUFSIZ], pathbase[PATH_MAX]; > char *idstr1, *idstr2 = NULL, *path = NULL; > + char *repo_name = NULL; > size_t r; > off_t pos; > int rc; > @@ -7035,8 +7036,13 @@ diff_write_patch(struct tog_view *view) > if (err != NULL) > goto done; > > - rc = snprintf(pathbase, sizeof(pathbase), "%s/tog-%.8s-%.8s", > - GOT_TMPDIR_STR, idstr1 != NULL ? idstr1 : "empty", idstr2); > + err = got_path_basename(&repo_name, got_repo_get_path(s->repo)); > + if (err) > + goto done; > + > + rc = snprintf(pathbase, sizeof(pathbase), "%s/tog-%s-%.8s-%.8s", > + GOT_TMPDIR_STR, repo_name, > + idstr1 != NULL ? idstr1 : "empty", idstr2); > if (rc < 0 || (size_t)rc >= sizeof(pathbase)) { > err = got_error(rc < 0 ? GOT_ERR_IO : GOT_ERR_NO_SPACE); > goto done; > @@ -7080,6 +7086,7 @@ done: > free(path); > free(idstr1); > free(idstr2); > + free(repo_name); > return err; > } > >
improve 'tog diff' patch file names in /tmp