[git-users] Copyright on wildmatch.c
Hello, I'm trying to implement support for gitignore files in the_silver_searcher (https://github.com/ggreer/the_silver_searcher). It is a source code optimized version of grep. And it is way faster than ack. The problems at hand is that I'd like to use wildmatch.c and some dependencies (hex.c, some portions of compat-util.h) but it seems that git is GPL whereas tss is Apache2 licensed. Is there any possibility to re-license the files above to Apache2 for the TSS project? If not, is there any c library that provides support gitignore patterns? Thank you very much, Bufolo -- You received this message because you are subscribed to the Google Groups Git for human beings group. To unsubscribe from this group and stop receiving emails from it, send an email to git-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [git-users] Copyright on wildmatch.c
Hi, quickly after posting to this mailing i realized that and sent a copy to the dev list. Thanks for the clarification. On Tue, Feb 24, 2015 at 1:55 PM, Konstantin Khomoutov flatw...@users.sourceforge.net wrote: On Tue, 24 Feb 2015 09:02:21 +0100 Guilherme guibuf...@gmail.com wrote: [...] The problems at hand is that I'd like to use wildmatch.c and some dependencies (hex.c, some portions of compat-util.h) but it seems that git is GPL whereas tss is Apache2 licensed. Is there any possibility to re-license the files above to Apache2 for the TSS project? [...] This is a wrong mailing list to ask such a question: here, we deal with problems end-users have with Git, and this list has nothing to do with development of Git and its source code licensing. You should direct this question to the main Git mailing list, which is git at vger.kernel.org (see [1] for more info). Note that you might need to solicit explicit permission for relicensing from all who contributed to those files. On the other hand, when a quesion arose a couple of years ago about using bits of Git string manipulation library somewhere, the response of the devs I've seen on the list was positive so your chances are high IMO. 1. https://gist.github.com/tfnico/4441562 -- You received this message because you are subscribed to the Google Groups Git for human beings group. To unsubscribe from this group and stop receiving emails from it, send an email to git-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [git-users] How to use git to store large files without keeping track of versions?
On Sun, 22 Feb 2015 07:51:59 -0800 (PST) pengyu...@gmail.com wrote: I have some data files that need to be stored along with source code. These data files are large, but I don't need to keep their versions. I only need to keep the versions of the source code. git-annex is mainly for large files with versioning. Therefore, it is not suitable for my situation. Does anybody know whether there is a way to use git to manage source code (with versioning) as well data files (without versioning)? It's a bit unclear what you are really asking for. Are you fine with keeping those files checked into your repository and are just afraid each commit will somehow include those file into the repository again and again (many guides state that with each commit Git stores snapshots, not deltas)? If so, then fear not: while Git indeed stores snapshots, the content which did not change will not be somehow included again -- the new commit will reference existing objects representing those big files. So, just add and commit these files once and just make sure you don't change them and commit these changes. If this is not what you want, I can think of two more possibilities: * You want these files in the repo but don't want them to be checked out by default. * You do not want these files even in the repo. Which one do you want? The first case is made possible by a simple fact Git is able to store any object in its database -- when you do this, the contents of the object, named blob in Git's parlance, will persist in the repository as long as there's something referencing it (let's not dig into nitty-gritty details of this for now). So a common idiom is to put an object into the repository and then make a tag (usually annotated) pointing to it: $ git tag -a my-big-file $(git hash-object -w my-big-file) The `git hash-object -w` command will read the specified file, put it into the repo and print the SHA-1 hash calculated over its contents. The `git tag -a` command then creates a tag (named my-big-file) pointing to that hash. The upside of this approach is that it's simple and elegant: you have the file in the repo, and when you want its contents, you simply extract it to produce whatever file you want: $ git cat-file my-big-file^{} /some/path/to/my-big-file The downsides: * The data is in the repo. * If you have lots of files, getting them out of the repository is tedious or requires scripting. The second case is the most vague: if you want certain Git files to be kept out of the repo, then Git is not the tool to manage them. Not directly at least. Basically, commit a file into your repo which contains explanations of how to make these files available at the place where your repo is checked out. If you still want these files managed by Git, put them all in a separate repo, and add it as a submodule to the main repository. If you will so wish, you'll be able to check out the main repo without the submodules so the big files will still technicaly be out of it while still kept in Git. git-annex is an interesting possibility as well but I'm afraid it's a standalone tool, that is, it does not really integrate into regular Git workflow (like Git sumbodules do). But I'm not familiar with this tool so can't really comment on this. -- You received this message because you are subscribed to the Google Groups Git for human beings group. To unsubscribe from this group and stop receiving emails from it, send an email to git-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [git-users] How to use git to store large files without keeping track of versions?
So a common idiom is to put an object into the repository and then make a tag (usually annotated) pointing to it: $ git tag -a my-big-file $(git hash-object -w my-big-file) The `git hash-object -w` command will read the specified file, put it into the repo and print the SHA-1 hash calculated over its contents. The `git tag -a` command then creates a tag (named my-big-file) pointing to that hash. The upside of this approach is that it's simple and elegant: you have the file in the repo, and when you want its contents, you simply extract it to produce whatever file you want: $ git cat-file my-big-file^{} /some/path/to/my-big-file Oh, that is so nice. 1. How did you piece this together 2. How did you manage to understand the documentation well enough to understand that this would even work? I don't think I've seen hash-object mentioned, yet it's such an obvious underlying tool that has to be there somewhere. -- You received this message because you are subscribed to the Google Groups Git for human beings group. To unsubscribe from this group and stop receiving emails from it, send an email to git-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Fwd: [git-users] How to use git to store large files without keeping track of versions?
I forget to send to the mailing list. -- Forwarded message -- From: Peng Yu pengyu...@gmail.com Date: Tue, Feb 24, 2015 at 12:05 PM Subject: Re: [git-users] How to use git to store large files without keeping track of versions? To: Konstantin Khomoutov flatw...@users.sourceforge.net On Tue, Feb 24, 2015 at 7:45 AM, Konstantin Khomoutov flatw...@users.sourceforge.net wrote: On Sun, 22 Feb 2015 07:51:59 -0800 (PST) pengyu...@gmail.com wrote: I have some data files that need to be stored along with source code. These data files are large, but I don't need to keep their versions. I only need to keep the versions of the source code. git-annex is mainly for large files with versioning. Therefore, it is not suitable for my situation. Does anybody know whether there is a way to use git to manage source code (with versioning) as well data files (without versioning)? It's a bit unclear what you are really asking for. Are you fine with keeping those files checked into your repository and are just afraid each commit will somehow include those file into the repository again and again (many guides state that with each commit Git stores snapshots, not deltas)? If so, then fear not: while Git indeed stores snapshots, the content which did not change will not be somehow included again -- the new commit will reference existing objects representing those big files. So, just add and commit these files once and just make sure you don't change them and commit these changes. In my git repository, there are data files as well as source files. For source files, they can be stored with the regular git mechanisms. The problem is that data files (many of them, each one many MBs). They stored in gz files, they can not be effectively diffed as the content of the data can be completely changed. Also, old data files can not be permanently deleted from the .git directory, even they are not available in the most recent commit. This is can be unacceptable situation, as the git reposiotry will quickly grow to a size that is slow to use. Is it clear what my scenario is? If this is not what you want, I can think of two more possibilities: I am not referring to the following possibilities. * You want these files in the repo but don't want them to be checked out by default. * You do not want these files even in the repo. Which one do you want? The first case is made possible by a simple fact Git is able to store any object in its database -- when you do this, the contents of the object, named blob in Git's parlance, will persist in the repository as long as there's something referencing it (let's not dig into nitty-gritty details of this for now). So a common idiom is to put an object into the repository and then make a tag (usually annotated) pointing to it: $ git tag -a my-big-file $(git hash-object -w my-big-file) The `git hash-object -w` command will read the specified file, put it into the repo and print the SHA-1 hash calculated over its contents. The `git tag -a` command then creates a tag (named my-big-file) pointing to that hash. The upside of this approach is that it's simple and elegant: you have the file in the repo, and when you want its contents, you simply extract it to produce whatever file you want: $ git cat-file my-big-file^{} /some/path/to/my-big-file The downsides: * The data is in the repo. * If you have lots of files, getting them out of the repository is tedious or requires scripting. The second case is the most vague: if you want certain Git files to be kept out of the repo, then Git is not the tool to manage them. Not directly at least. Basically, commit a file into your repo which contains explanations of how to make these files available at the place where your repo is checked out. If you still want these files managed by Git, put them all in a separate repo, and add it as a submodule to the main repository. If you will so wish, you'll be able to check out the main repo without the submodules so the big files will still technicaly be out of it while still kept in Git. git-annex is an interesting possibility as well but I'm afraid it's a standalone tool, that is, it does not really integrate into regular Git workflow (like Git sumbodules do). But I'm not familiar with this tool so can't really comment on this. -- Regards, Peng -- Regards, Peng -- You received this message because you are subscribed to the Google Groups Git for human beings group. To unsubscribe from this group and stop receiving emails from it, send an email to git-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [git-users] How to use git to store large files without keeping track of versions?
This is so elegant, but: Konstantin Khomoutov flatw...@users.sourceforge.net writes: $ git cat-file my-big-file^{} /some/path/to/my-big-file I think you have to say git cat-file blob my-big-file^{} Dale -- You received this message because you are subscribed to the Google Groups Git for human beings group. To unsubscribe from this group and stop receiving emails from it, send an email to git-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.