2010-07-21 10 views
27

मैं हाल ही में git और hg के साथ खेल रहा हूं और फिर अचानक यह हुआ कि दस्तावेजों के लिए इस तरह की चीज बहुत अच्छी होगी।डॉक्स और पीडीएफ के लिए संस्करण नियंत्रण?

मेरे पास एक दस्तावेज़ है जिसे मैं डॉक्स में संपादित करता हूं और पीडीएफ के रूप में निर्यात करता हूं। मैंने संस्करण को नियंत्रित करने के लिए git और hg दोनों का उपयोग करने का प्रयास किया और hg के साथ बाहर निकलता है, आप केवल बाइनरी और diff-ing ट्रैकिंग को समाप्त करते हैं अर्थपूर्ण नहीं है। हालांकि git के साथ मैं अर्थपूर्ण रूप से भिन्न हो सकता हूं DOCX (अभी तक पीडीएफ पर कोशिश नहीं की है) मैं सोच रहा था कि ऐसा करने का बेहतर तरीका है, मैं अभी इसे कर रहा हूं। (आदर्श रूप में, अंतर को पद छोड़ने के लिए सबसे अच्छा समाधान हो जाएगा नहीं होने चाहिए।)

- आशीष गांधी

उत्तर

13

वहाँ दो अलग अवधारणाओं यहाँ हैं - एक है "संस्करण नियंत्रण प्रणाली के बारे में कुछ बुद्धिमान निर्णय कर सकते हैं फाइलों की सामग्री? " - ताकि यह संशोधन के बीच केवल डेल्टा जानकारी संग्रहीत कर सके (और फाइलों के व्यक्तिगत हिस्सों को जिम्मेदारी सौंपने जैसी चीजें करें)।

दूसरा है 'क्या मेरे पास एक फ़ाइल तुलना उपकरण है जो संस्करण नियंत्रण प्रणाली में मेरे पास फ़ाइलों के प्रकार के लिए उपयोगी है'। वर्जन कंट्रोल सिस्टम फाइल तुलना टूल के साथ आते हैं जो समर्पित विकल्पों से कम हैं। लेकिन वे हमेशा बेहतर डिफ प्रोग्राम से जुड़े रह सकते हैं - या तो सभी फाइल प्रकारों या विशिष्ट लोगों के लिए।

तो उदाहरण के लिए, सामान्य तुलना टूल के रूप में तुलना करने के लिए, एक समर्पित शब्द दस्तावेज़ तुलनाकर्ता के रूप में शब्द के साथ तुलना करना आम है।

विभिन्न संस्करण नियंत्रण प्रणाली अलग-अलग हैं कि लोगों को 'द्विआधारी' को संभालने में कितना अच्छा लगता है, लेकिन यह अक्सर बड़ी फ़ाइलों को संभालने और फ़ाइल तुलना के साथ विशेष लॉकिंग प्रदान करने के साथ बहुत कुछ करने के लिए होता है।

+0

हां, मुझे "बाइनरी" क्षमता चर्चाओं के बारे में पता है। तो आप क्या सुझाव देंगे - किसी को अपने DOCX के इतिहास को रिकॉर्ड करने के बारे में कैसे जाना चाहिए? –

+1

मैं उन्हें किसी भी प्रकार के वीसीएस में रखूंगा, और VCS फ़ाइलों को तुलना करने के लिए वर्ड का उपयोग करने के लिए VCS को कॉन्फ़िगर करता हूं। –

+0

जब मैं DOCX के पुराने संस्करण को डबल क्लिक करता हूं तो मैं इसे स्वचालित रूप से करने के लिए TortoiseHg को कैसे कॉन्फ़िगर कर सकता हूं? –

4

आप एचजी के लिए बाह्य diff उपकरण के रूप में तुलना से परे उपयोग कर सकते हैं। में जोड़े/के रूप में अपने उपयोगकर्ता mercurial.ini बदलने के लिए:

[extdiff] 
cmd.vdiff = c:/path/to/BCompare.exe 

फिर से परे docx के लिए file viewer rule तुलना करें मिलता है।

अब आप तुलना के अलावा डॉक्क्स के दो संस्करणों की तुलना करने में सक्षम होना चाहिए।

5

http://tortoisehg.bitbucket.io/ में डॉकडिफ़ नामक एक प्लगइन शामिल है जो वर्ड और एक्सेल diff'ing को एकीकृत करता है।

3

यहां कई स्थानों के लिए केवल docx के लिए, मैं संकलित निर्देश: https://gist.github.com/nachocab/6429893

# download docx2txt by Sandeep Kumar 
wget -O docx2txt.pl http://www.cs.indiana.edu/~kinzler/home/binp/docx2txt 

# make a wrapper 
echo '#!/bin/bash 
docx2txt.pl $1 -' > docx2txt 
chmod +x docx2txt 

# make sure docx2txt.pl and docx2txt are your current PATH. Here's a guide 
http://shapeshed.com/using_custom_shell_scripts_on_osx_or_linux/ 
mv docx2txt docx2txt.pl ~/bin/ 

# set .gitattributes (unfortunately I don't this can't be set by default, you have to create it for every project) 
echo "*.docx diff=word" > .git/info/attributes 

# add the following to ~/.gitconfig 
[diff "word"] 
    binary = true 
    textconv = docx2txt 

# add a new alias 
[alias] 
    wdiff = diff --color-words 

# try it 
git init 

# create my_file.docx, add some content 

git add my_file.docx 

git commit -m "Initial commit" 

# change something in my_file.docx 

git wdiff my_file.docx 

# awesome! 

यह OSX

अच्छा काम करता है
2

आप उपयोग करना एक मैक होते हैं तो मैं एक Git विलय ड्राइवर का उपयोग कर सकते हैं कि लिखा था माइक्रोसॉफ्ट वर्ड और किसी भी फ़ाइल प्रकार के बीच विवादों को मर्ज करने और दिखाने के लिए ट्रैक किए गए परिवर्तन शब्द & लिख सकते हैं।

http://github.com/jasmas/wordMerge

मैं कहता हूँ क्योंकि ड्राइवर मैंने लिखा AppleScript का उपयोग करता है 'यदि आप उपयोग करने के लिए एक मैक हो', मुख्य रूप से इस कार्य को पूरा करने।

प्रोजेक्ट में एक vbscript संस्करण जोड़ना अच्छा लगेगा, लेकिन फिलहाल मेरे पास परीक्षण के लिए विंडोज वातावरण नहीं है।कुछ बुनियादी स्क्रिप्टिंग ज्ञान वाले किसी भी व्यक्ति को यह देखने में सक्षम होना चाहिए कि मैं क्या कर रहा हूं और उसे vbscript, powerhell या Windows पर जो कुछ भी डुप्लिकेट कर सकता हूं।

4

यह article का उपयोग कर this postpdf2html का उपयोग कर पीडीएफ के लिए समाधान की रूपरेखा Pandoc जबकि Docx के लिए समाधान की रूपरेखा।

संबंधित मुद्दे