Subversion के साथ एक PHP परियोजना का उत्पादन निर्माण करना

यदि आप PHP में काम कर रहे हैं (या मुझे लगता है कि कोई प्रोग्रामिंग भाषा है) और उपरोक्त का उपयोग अपने स्रोत नियंत्रण के रूप में करते हैं, तो क्या आपके प्रोजेक्ट को लेने का कोई तरीका है (उदाहरण के लिए):

C: \ परियोजनाओं \ परीक्षण \ .svn
  C: \ परियोजनाओं \ परीक्षण \ डॉक्स \
  C: \ परियोजनाओं \ परीक्षण \ faq.php
  C: \ परियोजनाओं \ परीक्षण \ guestbook.php
  C: \ परियोजनाओं \ परीक्षण \ index.php
  C: \ परियोजनाओं \ परीक्षण \ test.php

और बिल्ड / प्रतिलिपि / जो भी हो, यह कुछ फाइलों को मिटा देता है और बन जाता है:

C: \ परियोजनाओं \ परीक्षण \ faq.php
  C: \ परियोजनाओं \ परीक्षण \ guestbook.php
  C: \ परियोजनाओं \ परीक्षण \ index.php

खुद ब खुद? मैं शाखा बनाने के थक गया हूं, और फिर शाखा के माध्यम से जा रहा हूं और सभी ".svn" फ़ोल्डर, दस्तावेज़ निर्देशिका, और मेरी प्रोटोटाइप फाइलों को हटा रहा हूं।

मुझे पता है कि मैं शायद एक विशिष्ट फ़ाइल की प्रतिलिपि बनाने के लिए .bat फ़ाइल का उपयोग कर सकता हूं, लेकिन मुझे उम्मीद थी कि छद्म छेड़छाड़ की तरह एक विचलन के साथ कुछ तरीका था, जहां यह अभी भी संस्करण होगा, लेकिन जहां आप इसे बना सकते हैं प्रोजेक्ट का स्नैपशॉट जो उन फ़ाइलों को अनदेखा करता है जिन्हें आपने psuedo को अनदेखा किया था।

मुझे पता है कि मैंने कुछ कार्यक्षमता के बारे में कहीं कहीं ऑनलाइन पढ़ा है जो कम से कम आपको .svn फ़ोल्डरों के बिना कॉपी करने देता है, लेकिन मुझे अब यह नहीं मिल रहा है।

0
ro fr bn

3 उत्तर

ठीक है, तो मेरा अंतिम समाधान यह है:

"Deploy.bat" नामक फ़ाइल के रूप में एक ही निर्देशिका में "निर्यात" नामक फ़ोल्डर में निर्यात करने के लिए निर्यात कमांड का उपयोग करें, फिर मैं तैनाती स्क्रिप्ट चलाता हूं (v1 संस्करण 1 के लिए खड़ा है, जो वर्तमान में मैं इस संस्करण में हूं प्रोजेक्ट) यह स्क्रिप्ट 7-ज़िप का उपयोग करती है, जिसे मैंने अपने सिस्टम पथ पर रखा है, इसलिए मैं इसे कमांड लाइन उपयोगिता के रूप में उपयोग कर सकता हूं:

rem replace the v1 directory with the export directory
rd /s /q v1
move /y export\newIMS v1
rd /s /q export

rem remove the prepDocs directory from the project
rd /s /q v1\prepDocs

rem remove the scripts directory from the project
rd /s /q v1\scripts

rem remove individual files from project
del v1\.project
rem del v1\inc\testLoad.html
rem del v1\inc\testInc.js

SET /P version=Please enter version number:

rem zip the file up with 7-Zip and name it after whatever version number the user typed in.
7z a -r v%version%.zip v1

rem copy everything to the shared space ready for deployment
xcopy v%version%.zip /s /q /y /i "Z:\IT\IT Security\IT Projects\IMS\v%version%.zip"
xcopy v1 /s /q /y /i "Z:\IT\IT Security\IT Projects\IMS\currentVersion"

rem keep the window open until user presses any key
PAUSE

मेरे पास सिंकटॉय समाधान की जांच करने का समय नहीं था, इसलिए इसे इस विधि को अस्वीकार करने के रूप में न लें। मुझे पता था कि यह कैसे करना है, और उसमें एक को देखने के लिए समय नहीं था (अभी एक समय के भीतर)।

सूत्रों का कहना है:

http://commandwindows.com/command2.htm
http://www.ss64.com/nt/

0
जोड़ा

यहां एक निराला गम-एंड-शूटरिंग विचार है:

Copy all the files manually or using your existing method for the first time. Then, since I take it you're on a Windows platform, install SyncToy and configure it in the subscribe method, which would effectively one-way copy only the changes made since the last pseudo-commit to production for files already in production. If you want to add a file you can just copy it manually and resume the SyncToy operation.

0
जोड़ा

यदि आप TortoiseSVN का उपयोग करते हैं, तो आप सभी .svn फ़ाइलों को स्वचालित रूप से बाहर निकालने के लिए निर्यात सुविधा का उपयोग कर सकते हैं। मुझे लगता है कि अन्य svn चीजों में एक ही सुविधा है।

Right click the root project folder, TortoiseSVN > Export and tell it where you want the .svn free directory.

0
जोड़ा
निर्यात सुविधा चाहिए किसी भी ग्राहक के साथ काम करना चाहिए लेकिन अर्थात् कमांड लाइन क्लाइंट; यह एक मानक विशेषता है।
जोड़ा लेखक Frank V, स्रोत