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

Pre-Process Files for Commits and Pulls

From
BTBrandon Teska <brandon.teska@gmail.com>
Date
May 11, 2016, 20:45 UTC
Message-ID
<CALo8eZyX+vPMxVzeQgrhn0G+x44myvPot-EqC=DACEo3OwDwQA@mail.gmail.com>
Hi everyone,

I have an unusual question. I'm curious if git can pre-process files before pushing them to a remote repo and then reprocess them on pulls. Basically, I'm trying to work collaboratively with a few colleagues on a project using another software program. I've decoded the file we've been working on, so that we have the "source" that would be well managed by git. However, I need this to be accessible to laypeople so I need my workflow to look like this:

1. Person A works on (binary) file locally
2. Person A commits and pushes to the repo
3. Before the push, a script deconstructs the binary file into several
text files
4. Those text files are pushed
Similarly, when Person B pulls from the repo, this is what I need to happen:
1. Person B pulls
2. Before sending the pull, git calls a script that repackages the
text files into a "binary" files that the software can use.
3. Person B can now update the file as he wishes

So, basically I am curious if git can store a different "form" of the file(s) that what are actually worked on. Is this possible? (I'd like to avoid running client side scripts if at all possible, but would be willing if that's a possibility.)

Thanks!
Brandon
Next: Junio C Hamano
Message 1 of 2 in “Pre-Process Files for Commits and Pulls”
  1. Brandon TeskaMay 11, 2016
  2. Junio C HamanoMay 11, 2016

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.