एक JGit-शुरुआत-प्रश्न:JGit
मैं JGit भंडार से एक फ़ाइल (ब्लॉब) पढ़ सकते हैं और इसकी सामग्री में हेरफेर करने का उपयोग करें। इसके बाद, मैं एक ही फाइलनाम के साथ नई सामग्री को एक नई प्रतिबद्धता के रूप में भंडार में वापस लिखना चाहता हूं। लेकिन मैं जेजीआईटी के साथ नई सामग्री कैसे कर सकता हूं?
मेरे छद्म कोड:
String gitUrl = "path/to/repository/.git";
Repository repository = new FileRepository(gitUrl);
String filename = "test/seppl.txt";
blobId = getIdOf(filename);
ObjectLoader object = repository.open(blobId, Constants.OBJ_BLOB);
ObjectStream is = object.openStream();
String newContent = processStream(is);
// How to commit the newContent in filename?
मैं एक फ़ाइल में newContent
लिखने और AddCommand और CommitCommand के साथ इस फ़ाइल के लिए प्रतिबद्ध है? या क्या मैं एक ही फ़ाइल नाम के तहत भंडार में स्ट्रिंग "ऑन-द-फ्लाई" लिख सकता हूं?
क्या वेब में कहीं भी एक उदाहरण है कि जेजीआईटी के साथ प्रतिबद्धता कैसे करें?
CommitCommand के उदाहरण के लिए, मेरा सुझाव है कि आपको मेरा जवाब देखें [यहां] (http://stackoverflow.com/questions/6861881/jgit-cannot-find-a-tutorial-or-simple- उदाहरण/10311069 # 10311069)। –
मैं जवाब में सुझाए गए अनुसार चीनी मिट्टी के बरतन API (यानी 'AddCommand',' CommitCommand') का उपयोग करने की भी अनुशंसा करता हूं, लेकिन यदि आप वास्तव में फ्लाय_ पर प्रतिबद्ध करना चाहते हैं तो आपको यह आलेख उपयोगी हो सकता है :: http: //www.codeaffine .com/2014/10/20/git-internals/ –