Comments (6)
I really like the sound of this!
My plan is to implement some high level "convenience" wrappers around the gitteh bindings once they're complete. I was planning on implementing these in JS. Your ideas for revParse would be a great first step!
I like the idea of revParse processing anything - particularly if you give it any ref and it will automatically peel the ref (if it's symbolic) and load the commit.
Not too sure about resolving fragment sha1's though - libgit2 doesn't support this. I guess we could scan the git repository on the filesystem and try that - but then we'd also have to scan packfiles too.
from node-gitteh.
What do you think if we made revParse just straight up retrieve the object you provide? In such a way that it retrieves
For example:
// Gives us a Commit object.
var commit = repository.revParse("HEAD");
// Gives us the Blob for mydir/blah.txt in HEAD revision:
var blob = repository.revParse("HEAD:mydir/blah.txt");
// Gives us the Tree for mydir in the v1.0.1 tag:
var tree = repository.revParse("v1.0.1:mydir");
from node-gitteh.
@samcday Please, tag this as whishlist
!
from node-gitteh.
This would be a lovely feature. I'm using node-gitteh to implement a simple git-backed static file server, and supporting sha1 fragments in particular would be handy for short URLs. Revisions of the form "HEAD~1" would also be handy for comparing the latest and previous versions.
from node-gitteh.
Actually, a rev-parse
can be a commit, a branch, a tag, or another reference. Thus, LibGit2 will return you the object (could be a Commit
, or a Reference
).
from node-gitteh.
Revparsing is available in libgit2 0.18.0
, so we'll be offering this functionality in node-gitteh once we've released our corresponding 0.18.0
package.
from node-gitteh.
Related Issues (20)
- Warnings given when building gitteh HOT 1
- Is a callback required for 0.17.1? HOT 3
- Update documentation HOT 6
- The commit walker doesn't exist anymore HOT 3
- Nodenv error HOT 5
- use .gyp files to build extensions HOT 2
- Cannot read property 'bytes' of undefined HOT 2
- Synchronous openRepository Fails HOT 8
- { [Error: This transport isn't implemented. Sorry] code: 11 } HOT 4
- How is lib/gitteh.js generated? HOT 9
- File size or timestamp of blob? HOT 13
- Gitteh needs a primary maintainer! HOT 61
- How to generate the documentation? HOT 4
- Dependency issues HOT 1
- How can I stage lines and hunks? HOT 1
- basic clone crash on 10.7.2 HOT 2
- Implementing the push method on Remote object
- [email protected] install failed HOT 4
- can't use gitteh.clone method? HOT 1
- State of this repo HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from node-gitteh.