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

Git archiving only branch work

From
GGGraeme Geldenhuys <mailinglists@geldenhuys.co.uk>
Date
Nov 13, 2014, 12:32 UTC
Message-ID
<5464a4e8.4a0.2bfa0e00.3067f800@geldenhuys.co.uk>
Hi,

I've strung together the following git alias command for our company. This command allows us to create a deployment package (archive) for a specific feature. The archive will contain only the files that changed during the development of that feature. We then deploy that archive to our client's web/database server for example.

[alias]
    deploy = !sh -c 'git archive --prefix=$1/ -o deploy_$1.zip HEAD 
$(git diff --name-only -D $2)' -
usage:
   git deploy OPS123 develop..ops-123

'OPS123' is the prefix directory to store the changes in 'ops-123' is the feature branch the work was done in.

This works very well. The only problem we have so far is that if we have files with spaces in the name (eg: SQL update scripts), then the command breaks.

Does anybody have an idea on how this can be resolved? Any help would be much appreciated.

Not sure if this is useful, but we are working on Windows systems and use Git Bash consoles.

Regards,
  Graeme
Next: Peter Krefting
Message 1 of 13 in “Git archiving only branch work”
  1. Graeme GeldenhuysNov 13, 2014
  2. Peter KreftingNov 13, 2014
  3. Duy NguyenNov 13, 2014
  4. Junio C HamanoNov 13, 2014
  5. Jeff KingNov 13, 2014
  6. Junio C HamanoNov 13, 2014
  7. Jeff KingNov 13, 2014
  8. Junio C HamanoNov 13, 2014
  9. Jeff KingNov 13, 2014
  10. Junio C HamanoNov 13, 2014
  11. Jeff KingNov 14, 2014
  12. Junio C HamanoNov 14, 2014
  13. Thomas KochNov 13, 2014

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.