git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [TopGit PATCH] hooks/pre-commit: check for cycles in dependencies

From
Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Date
Jun 5, 2009, 20:25 UTC
Message-ID
<20090605202526.GB671@pengutronix.de>
In-Reply-To
<1244148073-2313-1-git-send-email-bert.wesarg@googlemail.com>
Hi Bert,
On Thu, Jun 04, 2009 at 10:41:13PM +0200, Bert Wesarg wrote:
Show 5 quoted lines
> Only newly added dependencies needs to be considered.  For each of these deps
> check if there is a path from this dep to the current HEAD.
> 
> Use recursive_dep() for this task.  Even if recursive_dep() uses a DFS-like
> traversal it will not run into an infty-loop if there would be a cycle, because

I'm not sure how understandable this is. After some thinking I understood DFS. Up to now I thought infty is just the LaTeX macro name for "infinity", but apart of this, is this really the right term here? endless loop?

> recursive_dep() takes .topdeps only from committed trees.  And it is required
> that the committed dependency graph is acyclic.

I didn't check the implementation deeply. But all in all I don't have the usual warm and fuzzy feeling about it. What happens during a remote update if only the merged dependency graph has a cycle[1]?

Best regards Uwe

[1] The question is a bit theoretic because remote updating is broken here. If you are my remote and changed a .topdep file, my update simply discards your change.

-- 
Pengutronix e.K.                              | Uwe Kleine-König            |
Industrial Linux Solutions                    | http://www.pengutronix.de/  |
Previous: Bert WesargNext: Bert Wesarg
Message 3 of 5 in “hooks/pre-commit: check for cycles in dependencies”
  1. hooks/pre-commit: check for cycles in dependenciesBert Wesarg, Jun 4, 2009
  2. Bert WesargJun 4, 2009
  3. Uwe Kleine-KönigJun 5, 2009
  4. Bert WesargJun 8, 2009
  5. TopGit successorUwe Kleine-König, Jun 8, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.