Локал дискээс нэг секундэд нээгддэг шийдэл нь туннелээр хүрэх хуваалтаас нээгдэхэд гуч секунд шаардана. Туннел нь өөрөө сийрэг шалтгаан болдог. Өөрчлөгддөг зүйл нь өмнө нь локал дуудлага байсан үйлдлүүд синхрон очиж ирэх үйлдэл болдог, мөн цонх гарч ирэхээс өмнө редактор тэдгээрийн хэдийг гүйцэтгэдэг. Доорх механизм тус бүр яагаад үнэтэй, алиныг нь устгаж болохыг тайлбарлана.

Файл нээлттэй байх үед редактор юу хийдэг вэ

Өөрчлөлтийн хяналттай редактор нээлттэй файл бүр дээр захиалга хадгалдаг. Локал эзэлхүүн тэр захиалгыг сүлжээгүйгээр файлын системээс үйлчилдэг. Хуваалтаар дамжуулан мөн чанар нь давтан мета өгөгдөл уншилт болж доройтож болно, учир нь мэдэгдлийн загвар SMB дээр ижил ажиллахгүй. Өөрчлөлтийн хяналтыг унтраах нь шударга эхний туршилт, учир нь туннелд хүрэлгүйгээр хүсэлтийн цогцыг бүхэлд нь хасдаг.

Төслийн систем өөрийн урсгалыг нэмдэг. Шийдэл ачаалах нь хавтасыг тоолж, төслийн файлуудыг уншиж, SDK эсвэл багцуудыг шалгаж болох бөгөөд зам хол байх үед шалгалт бүр очиж ирэх үйлдэл юм. Олон төсөлтэй шийдэл тэр тоог үржүүлдэг тул нээгдэх хугацаа файлын хэмжээнээс хүлээгдэхээс хурдан өсдөг.

Цэс гарч ирэхээс өмнө дуусах бүрхүүлийн хайлт

Windows нь IDE-тэй ямар ч холбоогүй хоёр дахь гацах эх үүсвэрийг нэмдэг. Explorer болон түүний бүрхүүлийн өргөтгөлүүд контекст цэс нээгдэх бүрт өмнө ашигласан принтер, холбосон диск, товчлолыг дахин шийддэг. Тэдгээр зорилт туннел хүрч чадахгүй сүлжээнд байвал шийдэл бүр хугацаа дуустал блоклогдож, дараа нь л цэс зурагдана. Тиймээс файл нь өөрөө хэвийн нээгдэж байхад баруун товчлуурын даралт хэдэн секунд дүүжлэгдэж болно.

Үхсэн холболт болон принтерийн дарааллыг устгах, эсвэл таны үнэхээр байгаа сүлжээнд байгаа зүйлсийг л үлдээх хэрэгтэй. Мөн адил үндэслэл нь арын дэвсгэрт замыг шийддэг бүх зүйлд хамаарна, сүүлийн файлын жагсаалт болон бэхэлсэн хавтасыг оруулаад.

net use
Get-Printer | Select-Object Name, PortName
Measure-Command { Get-ChildItem \files\proj | Out-Null }

Яагаад локал ажлын хуулбар ялдаг вэ

Хуваалт дээр шууд ажиллах нь засварлах-бүтээх-шалгах мөчлөгт хамгийн муу зохион байгуулалт, учир нь редактор, компилятор, хувилбарын хяналтын клиент тус бүр тэдгээр алслагдсан файлыг тусад нь уншдаг. Тэдний тус бүр өөрийн очиж ирэх үйлдлийг төлдөг, бүтээх нь файл бүрт нэг удаа төлдөг. Хадгалах сангаар түлхэх бүхий локал хуулбар жижиг хөндлөн гарах урсгалыг нэг санаатай хөндлөн гаралтаар сольдог. Холболт сайжраагүй; хөндлөн гаралтын тоо нуран унасан.

Энэ нь тохируулгын дасгал биш бүтцийн өөрчлөлт бөгөөд туннелийн тохиргоо ажиллахгүй үед яг ийм учраас ажилладаг. Энэ нь мөн бүтэлгүйтлийн горимыг тодорхой болгодог: локал хуулбартай бүтээх нь одоо ч удаан бол хуваалт хэзээ ч асуудал байгаагүй.

Түүхийг нэг объект болгон зөөх

Сан өөрөө туннелийг гатлах шаардлагатай бол түүхийг дамжин өнгөрөх биш нэг объектоор илгээнэ үү. Боодол нь нэг файл, тиймээс нэг дамжуулалт, харин мянган сул объектыг дамждаг checkout мянган хөндлөн гаралтыг үнэлнэ. Mercurial болон Git хоёулаа энэ хэлбэрийг дэмждэг.

hg bundle --base 9f2c1a7e outgoing.hg
hg unbundle outgoing.hg
git bundle create repo.bundle main
git clone repo.bundle repo

Суурь хувилбар нь зөв тааруулах хэсэг, учир нь хэдий түүх аялахыг тэр шийддэг. Бүгдийг боодол болгох нь ажилладаг боловч холболтыг үрэгдүүлдэг, харин сүүлийн нийтлэг өөрчлөлтөөс боодол хийх нь нөгөө талд дутагдаж байгаа зүйлийг л зөөдөг.

Зурвасын өргөнийг буруутгахаас өмнө гурван үйлдлийг хэмжинэ

Гурван зүйлийг тусад нь хэмжинэ: нэг жижиг файл нээгдсэн, нэг хавтас жагсаагдсан, нэг хадгалалт дууссан. Гурвуулаа файлын тоотой харьцуулахад удаан бол зардал нь очиж ирэх үйлдэл юм. Нэг нь гацсан ч бусад нь хэвийн бол зурвасын өргөн биш, хүрч чадахгүй нөөцийн эсрэг хугацааны хязгаарыг сэжиглэ. Ажиллуулах бүрт машин аль сүлжээнд байсныг тэмдэглэ, учир нь өөр профайлд дахин холбогдсон зөөврийн компьютер оролдлогын хооронд хариултыг өөрчилж болно.

Дараа нь мөн тэр гурвыг төслийн локал хуулбартай харьцуулан давтана. Ялгаа нь хуваалтын үнэ бөгөөд хэн нэгэн шийдэл болгон илүү хурдан холболт санал болгоход дурдах ёстой тоо нь тэр юм.

Холбоотой нийтлэлүүд